--- type: concept title: "Finite Element Plasticity Program Architecture" complexity: advanced domain: computational-mechanics created: 2026-06-02 updated: 2026-06-02 address: c-000140 aliases: - plasticity finite element program structure - plasticity FE code architecture tags: - concept - finite-element-method - plasticity - implementation status: current related: - "[[Finite Element Program Implementation]]" - "[[Finite Element Plasticity]]" - "[[Plasticity Benchmark and Input Data Cases]]" - "[[Abaqus User Subroutines and Utility Routines]]" - "[[Abaqus User-Defined Material Behavior]]" sources: - "[[Finite-Elements-in-Plasticity-Theory-and-Practice|Finite Elements in Plasticity: Theory and Practice]]" source_refs: - source: "[[Finite-Elements-in-Plasticity-Theory-and-Practice|Finite Elements in Plasticity: Theory and Practice]]" raw_path: ".raw/FiniteElementsinPlasticityTheoryandPractice/" raw_files: - "FiniteElementsinPlasticityTheoryandPractice_052.md" - "FiniteElementsinPlasticityTheoryandPractice_001.md" - "FiniteElementsinPlasticityTheoryandPractice_055.md" - "FiniteElementsinPlasticityTheoryandPractice_008.md" md_indices: - 52 - 1 - 55 - 8 match: "heuristic-heading-keyword" confidence: high --- # Finite Element Plasticity Program Architecture ## Definition Finite element plasticity program architecture is the software organization needed to run plasticity analyses: input parsing, element loops, material-state storage, nonlinear solution control, stress recovery, and verification output. ## Source Pattern [[Finite-Elements-in-Plasticity-Theory-and-Practice|Finite Elements in Plasticity: Theory and Practice]] describes modular FORTRAN routines linked into multiple plasticity programs. The important architecture lesson is not the language; it is the separation of responsibilities: - model and material input; - element stiffness, mass, and internal force routines; - integration-point stress update and state-variable storage; - global nonlinear or transient solution control; - postprocessing for displacements, reactions, stresses, and internal forces; - benchmark input cases for regression testing. ## Why It Matters Plasticity code fails when state ownership is unclear. Element routines need access to previous and trial state, material routines need a stable state-variable contract, and the global solver needs residuals and tangents that match the accepted material update. ## Solver Development Checklist - Define state variables per integration point and section point. - Separate trial, iterative, and committed material states. - Make element routines independent of specific global solver choices where possible. - Emit enough output to compare displacements, reactions, element internal forces, stresses, and plastic variables. - Keep reference input cases small enough for TDD and regression runs. ## Sources - [[Finite-Elements-in-Plasticity-Theory-and-Practice|Finite Elements in Plasticity: Theory and Practice]]