Changelog
All notable changes to pyserep are documented here. This project follows Semantic Versioning.
3.0.0 — 2025
Initial public release as pyserep (previously serep_rom internally).
Added
pyserep.frf.direct_frf— Direct FRF via impedance inversion Z(ω)⁻¹ with four damping models (modal, Rayleigh, hysteretic, user-supplied).pyserep.analysis.sensitivity— Eigenvalue sensitivity ∂λᵢ/∂p, FRF sensitivity ∂H/∂p, material perturbation sweep, Monte Carlo UQ.pyserep.analysis.convergence— Mode-count and DOF-count convergence studies withConvergenceStudyresult container and plots.pyserep.utils.linalg— Shared linear algebra: fast κ estimate, rank-revealing QR, safe pseudoinverse, force-positive-definite.pyserep.utils.sparse_ops— Sparse utilities: diagonal scaling, RCM reordering, BCs, bandwidth,ansys_dof/build_dof_maphelpers.pyserep.io.mesh_writer— Export master DOFs to CSV, VTK, Ansys APDL, and UFF58 formats.pyserep.models.synthetic— Four built-in FE models: spring chain, Euler-Bernoulli beam, 2D Kirchhoff plate, random SPD pair.Full
__all__export of 87 public symbols from the top-level namespace.py.typedPEP 561 marker for mypy compatibility.paper.mdandpaper.bibfor JOSS submission..readthedocs.yamlfor automatic documentation builds.Complete CI/CD pipeline with auto-publish to PyPI on GitHub release.
119 automated tests (unit + integration) across Python 3.9–3.12.
Changed
Package renamed from internal
serep_romto public pyserep.SereпPipelinenow defaults tofrf_method="direct".select_dofs_eidacceptsrequired_dofsparameter, guaranteeing force/output DOFs are always present in the master set.All subpackage
__init__.pyfiles now expose complete public APIs.
Fixed
Deleted
build_serep_rom → build_pyserepmistranslation from rename.PerformanceMetricsserialisation viadataclasses.asdict.Mass normalisation applied after ARPACK convergence check.