Eigentools is a set of tools for studying linear eigenvalue problems. The underlying eigenproblems are solved using Dedalus, which provides a domain-specific language for partial differential equations. Eigentools extends Dedalus's EigenvalueProblem
object and provides
- automatic rejection of unresolved eigenvalues
- simple plotting of specified eigenmodes
- simple plotting of spectra
- computation of pseudospectra for any Differential-Algebraic Equations with user-specifiable norms
- tools to find critical parameters for linear stability analysis
- ability to project eigenmode onto 2- or 3-D domain for visualization
- ability to output projected eigenmodes as Dedalus-formatted HDF5 file to be used as initial conditions for Initial Value Problems
- simple plotting of drift ratios (both ordinal and nearest) to evaluate tolerance for eigenvalue rejection
Eigentools can be pip
installed, though it requires Dedalus, which has non-pip
installable dependencies. See the installation instructions for details.
Documentation (including detailed API documentation) can be found at Read the Docs.
If you are upgrading from version 1 to version 2, you can find a guide to API changes here
Eigentools welcomes community contributions from issue reports to code contributions. For details, please see our contribution policy.
The core development team consists of
- Jeff Oishi ([email protected])
- Keaton Burns ([email protected])
- Susan Clark ([email protected])
- Evan Anders ([email protected])
- Ben Brown ([email protected])
- Geoff Vasil ([email protected])
- Daniel Lecoanet ([email protected])
Eigentools was developed with support from the Research Corporation under award Scialog Collaborative Award (TDA) ID# 24231.