Files
FESADev/phases/abaqus-input-parser/step4.md
T
2026-06-12 17:15:05 +09:00

2.0 KiB

Step 4: material-step-load-parser

Read First

Read these files before editing:

  • /AGENTS.md
  • /docs/PRD.md
  • /docs/ARCHITECTURE.md
  • /docs/ADR.md
  • /docs/io-definitions/abaqus-input-parser-io.md
  • /src/fesa/model/material.hpp
  • /src/fesa/model/analysis_step.hpp
  • /src/fesa/model/boundary_condition.hpp
  • /src/fesa/model/load.hpp
  • /src/fesa/io/abaqus/input_parser.hpp
  • /src/fesa/io/abaqus/input_parser.cpp

Review completed parser and model tests first.

Task

Extend the parser for the V0 material and history data subset.

Required behavior:

  • Parse *MATERIAL, NAME=<name> and *ELASTIC data into the internal material representation. If the current Material model cannot store elastic data, add the smallest semantic extension with tests.
  • Parse *STEP and *STATIC into ordered AnalysisStep definitions.
  • Parse *BOUNDARY rows into step boundary conditions using existing DofComponent mapping.
  • Parse *CLOAD rows into step concentrated loads using existing DofComponent mapping.
  • Parse *OUTPUT, *NODE OUTPUT, and *ELEMENT OUTPUT only to the extent documented in the I/O contract. If semantic storage is not yet present, record an explicit ignored-with-warning diagnostic rather than inventing output model APIs.

Tests To Write First

Add focused C++ tests before production code:

  • model tests for any new material or output request semantic fields;
  • parser tests for material/elastic, step/static, boundary, and cload rows.

Run targeted CTest and confirm the tests fail before implementation.

Acceptance Criteria

ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R "(model_|abaqus_input_parser_)"
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_workspace.py

Verification Procedure

Update step 4 status with summary or a concrete error/blocked reason.

Forbidden

  • Do not implement analysis execution, assembly, HDF5 writing, or reference comparison in this step.
  • Do not mutate reference artifacts.