Files
FESADev/phases/linear-static-3d-euler-beam/step2.md
T
2026-08-09 01:35:44 +09:00

84 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Step 2: Formulation Alignment
## 담당 역할과 필수 스킬
- 담당 역할: `formulation-agent`
- 필수 스킬: `fesa-formulation-spec`
- 스킬의 `SKILL.md`를 끝까지 읽고 수학 계약과 구현 계약의 경계를 지켜라.
## 읽어야 할 파일
- `/AGENTS.md`
- `/docs/SOLVER_AGENT_DESIGN.md`
- `/docs/formulations/README.md`
- `/docs/requirements/linear-static-3d-euler-beam.md`
- `/docs/research/linear-static-3d-euler-beam-research.md`
- `/docs/formulations/3d-isoparametric-euler-beam-formulation.md`
- `/docs/superpowers/specs/2026-08-08-linear-static-3d-euler-beam-design.md`
Step 01 산출물과 완료 summary를 확인하라.
## 작업
기존 `docs/formulations/3d-isoparametric-euler-beam-formulation.md`를 승인된 V0 요구조건과
연구 근거에 맞춰 정렬하라. 기존 정식화의 정확한 수학적 의미를 유지해야 하며, 이
step은 새 요소를 다시 설계하는 작업이 아니다.
- Metadata의 source requirement/research 경로와 status를 실제 산출물에 맞게 바꾸고
`feature_id: 3d-isoparametric-euler-beam`, `status: ready-for-numerical-review`를 기록한다.
- 기존 strong/weak form, DOF 순서, `theta_y=-w'`, B matrix, constitutive matrix,
2-point Gauss, 12x12 stiffness, transformation, line-load vector, recovery 식을 유지한다.
- 승인된 입력 의미를 수학 계약에 연결한다: `n1 -> local y`, `t x n1 -> local z`,
`Iy=I11`, `Iz=I22`, `I12=0`, scale-aware geometry validation.
- equilibrium end action, endpoint section resultant, Gauss generalized values, section-point
axial `S11`을 구분하고 stress reference comparison은 N/A임을 분명히 한다.
- 기존 Open Issues 중 승인 설계에서 해결된 tolerance, orientation, HDF5 distinction,
requirement/research 부재 항목을 제거하거나 resolved decision으로 바꾼다.
- EulerBernoulli slenderness 적용 범위는 limitation으로 유지하되 승인되지 않은 임의
warning/error threshold를 추가하지 않는다.
수식 결함을 발견해 정확한 의미를 보존하면서 정렬할 수 없으면 문서를 조용히 수정하지
말고 Step 2를 `blocked`로 기록한다.
## Acceptance Criteria
```powershell
$path = 'docs/formulations/3d-isoparametric-euler-beam-formulation.md'
$required = @(
'status: `ready-for-numerical-review`',
'docs/requirements/linear-static-3d-euler-beam.md',
'docs/research/linear-static-3d-euler-beam-research.md',
'theta_y=-',
'2점 Gauss',
'equilibrium end action',
'section resultant',
'S11',
'n1'
)
foreach ($text in $required) {
if (-not (Select-String -LiteralPath $path -SimpleMatch $text -Quiet)) {
throw "Missing aligned formulation contract: $text"
}
}
if (Select-String -LiteralPath $path -SimpleMatch 'status: `needs-research`' -Quiet) {
throw 'Stale formulation status remains'
}
git diff --check -- $path
```
## 검증 절차
1. Acceptance Criteria 명령을 실행한다.
2. 기존 수식의 DOF/component 순서와 부호가 승인 전 문서 의미와 동일한지 diff로 검토한다.
3. requirement/research의 모든 math handoff가 정식화 section 또는 limitation에 연결되는지 확인한다.
4. Step 2를 `completed`와 변경 요약으로 갱신한다. 수학 결함이나 upstream 충돌은
`blocked`, 반복 편집 실패는 `error`로 기록한다.
## 금지사항
- C++ class, header, storage API를 설계하지 마라. 이유: formulation은 수학 계약이다.
- 승인된 부호·DOF·적분 규칙을 편의상 바꾸지 마라. 이유: reference 의미가 달라진다.
- B31/Timoshenko 또는 `*DLOAD` parser 지원을 추가하지 마라. 이유: V0 범위 밖이다.
- Abaqus 실행 및 reference artifact 변경을 하지 마라. 이유: 이 gate는 문서 정렬만 담당한다.
- 직접 commit하지 마라. 이유: Harness executor가 담당한다.