# Step 0: requirements ## Read First - `/AGENTS.md` - `/docs/ABAQUS_SUBROUTINE_AGENT_DESIGN.md` - `/docs/PRD.md` - `/docs/ARCHITECTURE.md` - `/docs/ADR.md` - `/.codex/skills/abaqus-subroutine-requirements/SKILL.md` - `/docs/requirements/README.md` ## Task Create `/docs/requirements/uel-3d-euler-beam.md` for a 3D Euler-Bernoulli beam Abaqus/Standard `UEL`. Use `feature_id = uel-3d-euler-beam`. Start from these harness-test assumptions and make any remaining uncertainty explicit as a requirement decision: - Abaqus entry point: `UEL`. - Element type: two-node, linear elastic, small-displacement 3D Euler-Bernoulli beam. - Degrees of freedom: 12 total, 6 per node, ordered as `U1, U2, U3, UR1, UR2, UR3` at node 1 then node 2. - Primary implementation target: static stiffness matrix `AMATRX` and internal force contribution `RHS`. - Excluded from the first implementation unless requirements explicitly approve them: geometric nonlinearity, shear deformation, distributed loads, damping, mass matrix, thermal strain, warping torsion, plasticity, damage, and section offset. - Material/section properties to decide in requirements: `E`, `G` or `nu`, `A`, `Iy`, `Iz`, `J`, element orientation definition, density if mass is later required. The requirements document must include: - Scope and non-scope. - Must/should/could requirements. - Requirement Verification Matrix with one verification method, acceptance criterion, and tolerance or decision owner for every must requirement. - Required no-Abaqus evidence before Fortran production source changes. - Required external Abaqus artifact evidence before solver-result comparison. - Explicit decision list for unresolved physics or Abaqus keyword support. Do not create Fortran source, tests, reference artifacts, or implementation plans in this step. ## Tests To Write First - None. This is a requirements artifact step. ## Acceptance Criteria ```bash python -m unittest discover -s scripts -p "test_*.py" python scripts/validate_reference_artifacts.py python scripts/validate_workspace.py ``` The step is complete only when `/docs/requirements/uel-3d-euler-beam.md` exists and every must requirement has measurable verification. ## Validation Notes - Use externally generated ODB-extracted CSV artifacts for solver-result validation evidence. - Do not require this repository to run Abaqus analyses. - Update `/phases/uel-3d-euler-beam/index.json` step 0 with `completed`, `error`, or `blocked` and a concrete summary or reason. ## Forbidden - Do not add JavaScript/TypeScript/npm fallback. - Do not run Abaqus analyses from this project. - Do not generate reference CSVs. - Do not create Fortran production source. - Do not break existing tests.