# Step 1: research ## Read First - `/AGENTS.md` - `/docs/ABAQUS_SUBROUTINE_AGENT_DESIGN.md` - `/docs/ARCHITECTURE.md` - `/docs/ADR.md` - `/.codex/skills/abaqus-subroutine-research/SKILL.md` - `/.codex/skills/fem-theory-query/SKILL.md` - `/docs/requirements/uel-3d-euler-beam.md` - `/docs/research/README.md` ## Task Create `/docs/research/uel-3d-euler-beam-research.md`. Research only the evidence needed to support a two-node 3D Euler-Bernoulli beam `UEL` implementation and validation plan. Separate: - Source-backed facts. - Inferences made from those facts. - Applicability limits for this implementation. Cover at minimum: - Abaqus/Standard `UEL` responsibilities for `RHS`, `AMATRX`, `SVARS`, `ENERGY`, `NDOFEL`, `NNODE`, `MCRD`, `LFLAGS`, `PROPS`, `COORDS`, `U`, `DU`, and `JPROPS`. - Euler-Bernoulli 3D beam stiffness matrix in local coordinates for axial, torsion, bending about local 2 and local 3 axes. - Local-to-global transformation for two-node beam elements, including orientation-vector edge cases. - Residual sign convention needed by Abaqus `UEL`. - Verification benchmarks appropriate for no-Abaqus tests and external Abaqus CSV comparison. Prefer official Abaqus documentation and reliable FEM references. Public example repositories may be used only as learning references, not acceptance evidence, unless license/version/provenance are documented. Do not create or modify Fortran source, tests, reference artifacts, or implementation plans in this step. ## Tests To Write First - None. This is a research 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 the research document cites sources and clearly marks facts, inferences, and applicability limits. ## Validation Notes - Abaqus execution remains external to this repository. - Update `/phases/uel-3d-euler-beam/index.json` step 1 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.