QF Solver
Python FEM/FEA solver for structural mechanics and dynamics, with inspectable formulations, bounded nonlinear mechanics, reproducible verification and optional PETSc/MPI workflows for explicitly recorded routes.
QF Solver is a research and engineering-method development project. Its capabilities are route-specific: an implemented or converged analysis is not automatically verified, qualified or physically validated. It is not a certified solver or a general-purpose replacement for industrial FEA software.
Release status
| Item | Status |
|---|---|
| Release line | 0.2.10 |
| Source tag | v0.2.10 |
| Selected PyPI distribution | qf-solver==0.2.10 |
| Version DOI | 10.5281/zenodo.23106744 |
| Project concept DOI | 10.5281/zenodo.22697897 |
| Citation metadata | CITATION.cff identifies release 0.2.10 |
QF Solver 0.2.10 is the first public release after 0.2.8. The intervening
v0.2.9 tag is a source snapshot, not a PyPI, GitHub Release or Zenodo
version. The selected wheel and sdist have a bounded release audit; the
whole-repository G03 archive gate remains failed. GitHub-generated source
archives are not cleared distribution artifacts. See the
0.2.10 verification summary for scope
and limitations.
0.2.10 highlights
These are development-cycle results with their recorded scopes, not a blanket qualification of nonlinear mechanics.
- A shared nonlinear architecture now provides a Newton engine, composite assembly protocol, accepted-state transaction and common diagnostics for selected material and geometric routes. Contact compatibility loops are not all migrated to that lifecycle.
- Trial/accepted state, commit/rollback, cutback/retry and schema-v2 checkpoint/restart are covered for declared fixed, adaptive and arc-length paths; frictional contact and distributed restart are outside that scope.
- Line search, stagnation classification, adaptive increments and arc-radius policies have bounded robustness evidence. The arc-length correction kernel remains specialized; the work does not qualify general postbuckling.
- Total-Lagrangian StVK identities and structural campaigns were audited for TET4 and HEX8 within a frozen static, serial deformation envelope. The closure audit retained limitations and did not itself update the public maturity registry.
- Small-strain J2 retains its bounded TET4/TET10/HEX8/HEX20 scope. The owner-accepted corotational J2 qualification is HEX8-only; TET10/HEX20 extensions are separately bounded evidence, not transitive qualification.
- Frictionless penalty contact remains experimental and bounded. Prior frictional-contact acceptance applies to a narrow serial linear-static route; current-source requalification is not established, and recent area-supported stick/slip evidence is experimental with mesh sensitivity.
- External Code_Aster evidence is a bounded same-mesh linear-static correlation for declared TET4, HEX8, TET10 and HEX20 cases. It is not experimental physical validation, nonlinear correlation or a second independent global FEM/Newton solve.
- PETSc/MPI evidence includes bounded two-rank linear-static cases with replicated inputs for four element families and separate historical structured-TET4 large-model workloads. It makes no general scaling, mixed nonlinear, GPU or cross-machine claim.
- Public documentation now separates implementation, verification, externally correlated evidence and maturity decisions; see What's New in 0.2.10.
For detailed scopes, links to the controlling records and known limitations, start with the capability index, nonlinear mechanics overview, known limitations, and V&V summary.
Published 0.2.8 carry-forward boundaries
The existing 0.2.8 consolidated registry remains the source of truth for these published scopes; 0.2.10 does not rewrite them:
| Route | Published status | Boundary |
|---|---|---|
| WEDGE6 static | QUALIFIED_BOUNDED |
Declared Gmsh Prism 6 static route only. |
| WEDGE6 modal | QUALIFIED_BOUNDED |
Homogeneous consistent-mass scope and first three modes only. |
| Mixed distributed PETSc/MPI | NOT_VALIDATED |
No validated generic mixed-distributed runtime claim. |
Historical structured-TET4 large-model evidence includes recorded ~1.029M, ~3M, ~5.01264M and bounded ~10M DOF observations. The two complete 5M Silver replays were recorded on the declared eight-rank environment; these are workload-specific observations, not general scaling evidence. No claim of GPU, general HPC, hardware-independent scaling, mixed-mesh support or general nonlinear scaling is made. No claim of certification or universal physical validation is made.
Installation
Once the tagged release workflow has published the selected PyPI artifacts, install the 0.2.10 package:
python -m pip install "qf-solver==0.2.10"
qf-solver --version
The unpinned command python -m pip install qf-solver installs the latest
version currently available from PyPI. The
installation guide covers optional
extras and recorded native PETSc/MPI environment boundaries.
For a first calculation, see Quick Start. A separate nonlinear example uses a small existing TET4 input and intentionally reports the route's engineering-profile warning.
Citing QF Solver
For reproducibility, cite the exact version DOI for QF Solver 0.2.10:
10.5281/zenodo.23106744. To cite
the project independent of a specific release, use the concept DOI
10.5281/zenodo.22697897.
CITATION.cff is the machine-readable citation record.
Verification and scope
The repository distinguishes:
- implementation — code exists;
- testing — an automated or controlled case ran;
- verification — a declared invariant or comparison was checked;
- external correlation — a declared observable was compared with another solver under a frozen, comparable setup;
- qualification — an Owner-accepted decision assigns maturity to a specific route and scope;
- physical validation — comparison with physical observations, which is not implied by numerical verification or solver-to-solver correlation.
The 0.2.10 release includes substantial bounded evidence, but its roadmap
score is internal and is not a public quality rating. WP14 remains HOLD;
neither that score nor a passing CI workflow closes the full-repository G03
archive gate. There is no certification, universal physical validation,
industrial equivalence or universal HPC claim.
Project links
Metadata
Release files for qf-solver 0.2.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qf_solver-0.2.10.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qf_solver-0.2.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.6 MB
Release files / qf_solver-0.2.10.tar.gz
| Download URL | qf_solver-0.2.10.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82e54d0d5d05c1ff224e1af72f90d0bbd84e13e93f7cc5f881ccd16242e4f3f3
|
|
BLAKE2b-256 checksum How to use checksums |
f94f9acf76885b51fb9faa8ae90ecdc1da6d6d4b9f8a26a5b496c92f59123806
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / qf_solver-0.2.10-py3-none-any.whl
| Download URL | qf_solver-0.2.10-py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61641c97860cb25fb4c7a01e5c7ab724dc58616b97802cea2b9926fd10912454
|
|
BLAKE2b-256 checksum How to use checksums |
6877b1e43acebf591b470c3a8f606db204268cf69fd05fc4ef38e4f94f67379f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|