Architecture
A public Python facade connects model validation, numerical kernels and explicit result exports.
Source and release provenance · v0.2.11
docs/architecture.md ↗The public integration boundary
New applications use qf_solver and the qf-solver CLI. The solveur package contains implementation modules and compatibility layers. Numerical elements do not depend on JSON readers, exports or CLI parsing.
Responsibilities
| Layer | Responsibility |
|---|---|
| qf_solver | Public facade and documented types |
| core | Analysis routing, assembly, sparse solution and result objects |
| elements / materials | Finite-element formulations and material laws |
| mesh / loads | Geometry validation, quality reports and load assembly |
| post / io | Derived results, JSON/CSV/VTU, audits and evidence |
| large | Separate optional structured-TET4 large-model route |
Standard model flow
Read JSON → validate the mesh and constraints → select the analysis → assemble and solve → inspect diagnostics → export results. Gmsh uses a separate MSH 4.1 reader with a setup JSON before joining the same model-validation flow.
Assembly and repeated solves
An AssemblyPlan reuses geometry and DOF structure across assembly operations. Paired stiffness/mass assembly shares the chunk index pattern while calculating values separately. Constant sparse factorizations may be reused for repeated solves such as Newmark. The documented assembly memory budget can warn or refuse an estimated allocation.