AgentFEM Module Map¶
This map links FEM concepts to the current Python modules.
Module paths in this table are relative to src/agentfem/ unless stated
otherwise; runnable examples remain in the repository-level examples/.
| Concept | Module |
|---|---|
| Dependency-free public module, Model-verb, CLI-command, and workflow-stage inventories | _api_contract.py |
| Executable Model/Constitutive/State/Operator/Procedure/Backend/Result ownership inventory | _architecture_contract.py |
| Mesh import, boundary/cell regions, tags, summaries, checks, and measures | mesh/ |
| External mesh inventory, cell/facet set conversion, and manifests | mesh/formats.py |
| Abaqus migration inventory, element semantics, labels, equations, periodic-cell geometry, and source-order output | mesh/abaqus.py |
| Scope-aware Abaqus engineering migration plans and fail-closed project scaffolds | mesh/abaqus_migration.py |
| Reviewed narrow Abaqus-to-native lowering and one-instance orphan-mesh derivation | mesh/abaqus_lowering.py |
| Study context: analysis type, physics, dimension, and assumptions | studies.py |
| Shared axisymmetric (r,z) kinematics and full-revolution lowering | _axisymmetric.py |
| Standard/Explicit family, equation order, algorithm, and state policy | procedures.py |
| Model registry/facade, amplitudes, material assignments, and readable engineering verbs | models.py |
| Side-effect-free Model validation, inspection/AF-IR views, and shared inspection helpers | _model_validation.py, _model_inspection.py, _model_support.py |
| Stable private facade for built-in scientific Step construction | _step_builders.py |
| Linear-static and steady/transient thermal Step construction | _step_builders_thermal.py |
| Finite-kinematics hyperelastic, mixed, and fabric-membrane Step construction | _step_builders_finite_strain.py |
| Stateful J2, creep, and quasistatic viscoelastic Step construction | _step_builders_inelastic.py |
| Direct-harmonic and harmonic-viscoelastic Step construction | _step_builders_frequency.py |
| Explicit, implicit, finite-strain dynamic, and modal Step construction | _step_builders_dynamics.py |
Extensible analysis/material lowering and execution-policy normalization behind model.step() |
step_providers.py |
| Deterministic provider storage and selection, independent of scientific lowering | _step_provider_registry.py |
| Dependency-light target, material-capability, and procedure-selection predicates | _step_provider_support.py |
| Built-in provider predicates, lowerers, and declarations | _builtin_step_providers.py |
| Function spaces and Lagrange defaults | spaces.py |
| Application-level unknown fields | fields.py |
| Time histories and scale factors for prescribed data | amplitudes.py |
| Low-level dof lookup and field copying | kernel/dofs.py |
| Constraint containers and strong BC construction | constraints/ |
| Loads and natural boundary data | loads.py |
| Constitutive response relations and maturity catalog | constitutive/ |
| Standard-neutral engineering creep/fatigue assessment consumers and interaction diagrams | assessments.py |
| Quadrature-point committed/trial state | constitutive/quadrature.py |
| Shared restart/replace protocols and first-/second-order transient state | state.py |
| Monotonic cohesive laws, paired interface topology, and physical-keyed state | interfaces.py, cohesive_checkpoint.py |
| Independent cycle coordinate, cyclic cohesive damage, cycle jumps, and 3D fatigue-crack observations | fatigue_fracture.py |
| Finite-strain cohesive forces, named interface composition, energy, wave speeds, and dynamic crack evidence | fracture.py |
| Global stateful and modal solid-mechanics procedures | mechanics/ |
| Finite- and small-strain material-point contracts, named parameters, batch response validation, UMAT/UHYPER source inspection, and bridge specifications | constitutive/user_material.py, constitutive/small_strain_user_material.py, constitutive/material_driver.py |
| Named material definitions, project Python assets, physics-role compatibility, reference records, and property containers | materials/ |
| Boundary models | boundary_models/ |
| UFL weak-form blocks, including stiffness, mass, diffusion, and loads | forms.py |
| Assembly | assembly.py |
| Engineering-level K/M/C/F, registered-assignment and model-first operator lowering, transport, SUPG, and reaction operators | operators/, operators/_model_lowering.py |
| Central difference, Newmark, generalized-alpha, and runtime cadence | time/ |
| Common analysis steps, discrete system problems, factories, and compatibility delegates | problems.py |
| Incremental/affine nonlinear procedures, state transactions, cutback, and nonlinear checkpointing | _nonlinear_problems.py |
| First-/second-order transient and explicit-dynamics procedure implementations | _transient_problems.py |
| Shared residual-to-reaction diagnostic-field recovery | _problem_fields.py |
| Structural modal procedure, distributed eigensolver execution, and result assembly | mechanics/modal.py, backends/_modal.py, results/_modal.py |
| Shared transient checkpoint envelope, integrity, accepted-increment cadence, and partition identity | checkpointing.py |
| Automatic/fixed incrementation and cutback policy | steps.py |
| Linear/nonlinear solvers, prepared-solve lifecycle, and convergence evidence | _solver_lifecycle.py, solvers.py |
| Scientific results, MPI-safe point/path/integral QoIs, histories, artifacts, and dataset bridge | results/ |
| Rank-reduced timing, workload, solver, and parallel performance evidence | results/performance.py, diagnostics.py |
| Private direct-problem, static, nonlinear, transient, and modal result assembly | results/_problem.py, results/_analysis_step.py, results/_nonlinear_step.py, results/_transient_step.py, results/_modal.py |
| Shared field location and processing semantics | results/_field_metadata.py |
| Finite-strain fields and periodic-cell homogenization | results/finite_strain.py |
Global and regional L2 projection; engineering-default S/E/MISES, opt-in SENER, and explicit processing metadata |
results/projection.py, results/core.py |
| Standard result variables and context-aware aliases | results/field_catalog.py |
| Declarative field requests and unified XDMF/HDF5 time-series writer | results/output.py |
| Combined field/history/diagnostic/presentation output contracts | results/plan.py |
| Reactions, work/energy, thermal balance, progress, and distributed diagnostics | diagnostics.py, results/quantities.py |
| Output writers and scalar logs | io.py |
| Element and integration policies | elements/ |
| Test-linked verification obligations | benchmarks/ |
| Versioned external scientific contracts | integrations/ |
| Runnable workflows | examples/ |
| Versioned AF-IR scientific records | ir/ |
| Structured validation issues and reports | validation.py |
| Scientific trust, claims, and convergence evidence | verification.py |
| Backend descriptors, registry, and lowering adapters | backends/ |
| Explicit installed/private package discovery and staged registration | extensions.py |
| Typed/JSON parameters, sampling, campaign plans, resumable case execution | campaigns/ |
| Scientific dataset schemas, arrays, provenance, splits, and FEM-field export | datasets/ |
| Unified learning entry; neural-field objectives, conditions, sampling, inferred parameters, learned-constitutive specifications/provider discovery, and compatibility access | learning/ |
| Surrogate/ROM models, validation, applicability, observation grids, neural-operator/PINN contracts | surrogates/ |
Application geometry, case inputs, and problem-specific sources should stay in application packages or examples until they become reusable platform concepts.