Qualified beam and shell finite-element solver
Project description
ANYsolver finite-element solver
anysolver is a headless structural FE solver for beam,
shell, stiffened-panel, and cylindrical-shell analysis. It is an engineering
solver with an explicit qualification scope, not a general-purpose CAD,
contact, or fracture platform.
Install the released package with:
python -m pip install ANYsolver
For coordinated local development with ANYstructure:
python -m pip install -e C:\Github\ANYsolver
Core analyses and the solver-owned generated-geometry workflow are available
directly from anysolver; the lightweight normalized flat-panel and cylinder
facade is exposed through anysolver.runtime:
from anysolver import (
FEModel,
GeneratedGeometryFEMConfig,
LoadCase,
run_generated_geometry_fem,
solve_linear,
)
from anysolver.runtime import LightweightFEMConfig, run_production_fem
The generic GeneratedGeometryFEM* names are the preferred workflow API.
Historical AnyStructureFEM* aliases remain available only for downstream
compatibility. Material selection is centralized in
dnv_c208_steel_properties() and dnv_c208_steel_curve(); the runtime facade
uses the same canonical table and validation.
The source code and tests are authoritative. Generated reports under
reports/ are dated evidence snapshots and must be regenerated after solver
changes before making release claims.
Functional overview
| Area | Implemented functionality |
|---|---|
| Model | Six DOFs per node; SI units; materials, density, nodal mass, shell/beam topology, supports, and MPC constraints. |
| Shells | 3- and 6-node triangles; 4-node MITC-style and 8-node Mindlin-Reissner quadrilaterals; stiffness, mass, pressure, geometric stiffness, and stress recovery. Q8R reduced integration is experimental and outside the qualified thin-bending/nonlinear-batch scope. |
| Beams | 2-node and straight-sided 3-node Timoshenko beams with axial, biaxial bending, shear, torsion, consistent/lumped mass options, geometric stiffness, and optional fiber-section plasticity. |
| Coupling | Coincident or eccentric beam-shell kinematics through explicit interpolated MPC transformations. |
| Loads | Nodal force/moment, shell pressure, in-plane edge loads, acceleration/gravity, prescribed displacement, load combinations, proportional and staged nonlinear loads. |
| Linear analysis | Static single- and multiple-RHS solves, reactions and MPC-force diagnostics, free-free rigid-body nullspace handling, and sparse factorization reuse. |
| Modal and mass | Consistent mass assembly, point masses, model mass/inertia properties, constrained and free-free vibration modes. |
| Buckling | Linear eigenvalue buckling for beam axial force and shell membrane-resultant prestress, including sparse shift-invert and repeated-mode diagnostics. |
| Nonlinear static | Incremental Newton solution, adaptive stepping, force or displacement control, von Karman or opt-in corotational kinematics, layered shell J2 plasticity, beam fiber plasticity, staged loads, and simplified element erosion. |
| Continuation | Bounded Crisfield-style spherical arc-length tracing through a first limit point and a guarded descending branch. |
| Dynamics | Newmark or HHT-alpha implicit transient response, Rayleigh damping, prescribed shell pressure patches, selected/envelope history storage, and memory preflight. |
| Impact/contact | One rigid sphere with frictionless penalty contact against shells and opt-in beam-axis segments; event substepping, Aitken relaxation, nonlinear material response, and engineering damage/erosion options. |
| Imperfections | Stress-free eigenmode, member-bow, plate-wave, flange-twist, explicit, and composite imperfection fields. |
| Workflows | Normalized generated geometry to static/prestress/buckling; traceable static-to-buckling-to-imperfect nonlinear-capacity workflow. |
| Interchange | Pure-Python SESAM formatted FEM record/document parsing, guarded round-trip writing, supported semantic import to FEModel, coordinate transforms, beam orientation, and SIF shell-stress reading by load case. |
| Results | Result provenance, element and nodal stress recovery, selected recovery, reaction filtering, validation diagnostics, deterministic baselines, benchmarks, and generated qualification reports. |
Implemented does not automatically mean qualified for every geometry or load
regime. The live capability matrix is produced by
write_production_readiness_artifacts() and the verification manifest.
Production scope
The qualified target is thin flat or cylindrical shell structure, with beam stiffeners/girders represented through the documented coupling, inside the verified mesh, material, distortion, eccentricity, and load ranges.
Important limits:
- no arbitrary CAD topology or automatic general-purpose meshing;
- Q8R is experimental: its hourglass stabilization is not qualified for thin bending and it is deliberately excluded from nonlinear batch acceleration;
- the 3-node quadratic beam is straight-sided; curved members must be represented by straight beam segments until a true curved formulation is implemented;
- shell buckling uses the implemented membrane-resultant geometric stiffness, not a complete finite-rotation shell geometric stiffness;
- no follower-pressure load or tangent;
- no general shell-shell, body-body, frictional, rolling, or self-contact;
- no fluid-structure interaction, cavitation, or water-entry model;
- no cohesive cracks, remeshing, material separation, or fracture-mechanics claim—the erosion models are engineering screens;
- no unrestricted deep post-buckling or automatic bifurcation branch switching;
- no consistent frame-derivative tangent for the corotational formulation;
- no general material-aware stress reconstruction when committed nonlinear layer/fiber state is unavailable;
- no true multi-stage plastic preload followed by displacement control;
- no unverified material laws, residual-stress fields, or distortion ranges;
- SESAM
FEModelexport and external-solver execution/comparison remain outside the supported interchange gate.
Use validate_production_model(), the analysis-specific preflight checks, and
the generated production-scope artifacts before production use.
Documentation map
ARCHITECTURE.md: package boundaries, analysis flow, and invariants.THEORY.md: implemented formulations and validity limits.ARC_LENGTH.md: continuation controls and use.NONLINEAR_PERFORMANCE.md: nonlinear assembly, sparse backend, threading, and diagnostics.QUALITY_CONTROL.md: verification commands, evidence hierarchy, and current checked status.reference_cases/README.md: local CalculiX/PrePoMax reference-case layout.MIGRATION.md: source provenance, inclusion boundary, and import changes.
Basic verification
From the repository root:
python -m pytest tests -q -p no:cacheprovider
python run_qc.py --no-save
python scripts/run_fe_verification.py
The last command regenerates the canonical JSON and Markdown evidence under
reports/verification/. External-reference decks are handoff artifacts unless
matching external-solver results have actually been executed and compared.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anysolver-0.1.1.tar.gz.
File metadata
- Download URL: anysolver-0.1.1.tar.gz
- Upload date:
- Size: 593.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d6cf0f6526bbe1e5326b420a2b220e455bfb588557eafc4683bfa6a1bc05560
|
|
| MD5 |
d049a9f8086e2ceb3dd7fba455dd4074
|
|
| BLAKE2b-256 |
6528cce463686a67d03eebb2c6b53b6b03c4a773e8c50beca60e44d2c638f715
|
File details
Details for the file anysolver-0.1.1-py3-none-any.whl.
File metadata
- Download URL: anysolver-0.1.1-py3-none-any.whl
- Upload date:
- Size: 485.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35ee3dfd0427a0105787a5f87dfdd1357cc4356bae9f6608d483f85cf1505d1e
|
|
| MD5 |
b0b487ad340c430f87b1e1c529c620f4
|
|
| BLAKE2b-256 |
b93aecaae109875219e9744c73f2ca21fba47652ed127bc80f7d2f0b8bf7454a
|