Files
FESADev/phases/1-linear-static-mitc4/step4.md
T
2026-05-01 02:40:19 +09:00

69 lines
2.7 KiB
Markdown

# Step 4: parser-phase1-subset
## Sprint Contract
### Objective
Complete Phase 1 Abaqus input subset behavior and explicit rejection diagnostics for unsupported features.
### Required Reading
- /AGENTS.md
- /PROGRESS.md
- /PLAN.md
- /docs/README.md
- /docs/HARNESS_ENGINEERING.md
- /docs/PRD.md
- /docs/ARCHITECTURE.md
- /docs/ABAQUS_INPUT_SUBSET.md
- /docs/VERIFICATION_PLAN.md
- /phases/1-linear-static-mitc4/step3.md
### Scope
- Parse `*Node`, `*Element`, `*Nset`, `*Elset`, `*Material`, `*Elastic`, `*Shell Section`, `*Boundary`, `*Cload`, `*Step`, `*Static`, and `*End Step` as documented.
- Support generated and explicit set definitions only if documented in `docs/ABAQUS_INPUT_SUBSET.md`.
- Reject unsupported Abaqus constructs with clear diagnostics.
### Allowed Files
- `include/**`
- `src/**`
- `tests/**`
- `docs/ABAQUS_INPUT_SUBSET.md` only for clarification of already agreed behavior
- `PLAN.md`
- `PROGRESS.md`
- `phases/1-linear-static-mitc4/index.json`
### Explicit Non-Goals
- Do not support `S4R`, `Part`, `Assembly`, `Instance`, `*Include`, pressure loads, nonzero prescribed displacement, `*Density`, or `NLGEOM=YES`.
- Do not make `quad_01.inp` pass as Phase 1 input.
- Do not add geometric/material nonlinearity, dynamics, thermal coupling, or mesh quality diagnostics.
### Tests To Write First
- Positive parser tests for each Phase 1 supported keyword.
- Negative parser tests for `S4R`, `Part/Assembly/Instance`, `*Include`, `*Density`, pressure loads, nonzero prescribed displacement, and `NLGEOM=YES`.
- Diagnostics tests for missing required parameters, malformed data rows, and invalid labels.
### Reference Artifacts
- Format/provenance only: `references/quad_01.inp` may be used to assert that unsupported features are rejected or documented, not as a passing parser case.
### Acceptance Commands
```bash
python scripts/validate_workspace.py
```
### Evaluator Checklist
- Supported keyword coverage matches `docs/ABAQUS_INPUT_SUBSET.md`.
- Unsupported features fail loudly and specifically.
- S4 maps to the internal MITC4 shell element type; S4R remains unsupported.
- Tests include both successful subset parsing and negative diagnostics.
### Handoff Requirements
- Record parser coverage, unsupported-feature behavior, and validation in `PROGRESS.md`.
- Update `PLAN.md` if a parser blocker remains.
- Update the matching phase index entry: use `completed` with a one-line `summary`, or `blocked` with `blocked_reason`, or `error` with `error_message`.
## Verification
1. Run the acceptance command.
2. Inspect tests to ensure unsupported Abaqus features are not silently accepted.
## Do Not
- Do not widen parser support because a stored reference file happens to contain a keyword.