symfc
This is the symfc module.
What it is and what it does
Symfc is a Python package for computing force constants from supercell phonon calculations. It takes datasets of atomic forces and displacements from supercell snapshots and derives force constants while enforcing the symmetry constraints that these quantities must obey in crystals. In the phonon model, force constants are the Taylor-series expansion coefficients of the crystal potential with respect to atomic displacements; they determine phonon frequencies and other vibrational properties. Raw calculations often violate these symmetries due to numerical noise or approximation errors, and symfc corrects this by projecting the computed constants onto the symmetry-allowed subspace.
The package depends on numpy, scipy, and spglib for array operations, numerical methods, and crystal symmetry detection. It requires Python 3.10 or later and installs as a pure wheel with low friction. The repository is actively maintained.
Use it for:
- Refine force constants from first-principles phonon calculations to satisfy crystal symmetry requirements
- Post-process supercell displacement-force datasets to remove numerical noise while preserving physical constraints
- Prepare symmetry-correct force constants for downstream phonon band structure and thermal property calculations
- Validate or improve force constant matrices obtained from machine learning or empirical potentials
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Symfc computes force constants from atomic displacement-force datasets in crystal supercells while enforcing required symmetry constraints that raw calculations often violate.
Yes, if you work with phonon calculations and need to enforce symmetry on computed force constants. The package is actively maintained, has low install friction, and no known security issues. License status is unclear, so verify licensing terms before use in proprietary work.
Install
symfc on PyPI
pip
pip install symfcuv
uv add symfcpoetry
poetry add symfcInstalling symfc
Before you install
Low friction: pure Python wheel with three standard scientific dependencies (numpy, scipy, spglib). Repository is active with recent commits and no archived status.
Quickstart
pip install symfc
import symfc
# Load displacement-force dataset and compute symmetry-constrained force constants
Requires Python 3.10 or later
Verify before relying
- Whether symfc is suitable for production phonon workflows or primarily a research tool
- Performance characteristics on large supercells or high-dimensional datasets
- Availability and completeness of documentation beyond the GitHub repository
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — numpy, scipy, spglib |
| Maintenance | actively maintained — 46 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 210,154/month — #9,502 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: symfc-1.7.3-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
phonopyPhonopy calculates phonon properties and…
permissive · top 15,000 on PyPI
pyxtalPyXtal generates crystal structures with…
permissive · top 15,000 on PyPI
seekpathSeeK-path generates optimal k-point band paths…
permissive · top 15,000 on PyPI
chgnetCHGNet is a pretrained graph neural network…
permissive · top 15,000 on PyPI
spglibspglib provides Python bindings to a C library…
permissive · top 5,000 on PyPI
moyopyMoyopy is a Python binding for Moyo, a crystal…
permissive · top 15,000 on PyPI
pyocseAutomates simulation workflows for organic…
permissive · top 15,000 on PyPI
periodictableProvides a periodic table of the elements with…
permissive · top 15,000 on PyPI
mace-torchMACE trains and evaluates machine learning…
permissive · top 15,000 on PyPI
gemmiGemmi is a C++ library with Python bindings for…
copyleft · top 5,000 on PyPI