# Hex8 기능 결정 기록 Feature ID: `hex8-structural-analysis`. 상태: 사용자 승인된 구현 계약. 기준: [프로젝트 지침](../../AGENTS.md), [공통 PRD](../PRD.md), [공통 ADR](../ADR.md). 상세 행동은 [PRD](PRD.md), 수식은 [formulation](formulation.md)을 따른다. 아래 결정은 ready 인터뷰 및 최종 승인 뒤 go 실행 요청으로 확정했다. 구현/검증 통과를 의미하지 않는다. ## HEX8-ADR-001 — Full-integration TL–StVK **선택:** 8절점 일반 등매개 육면체, 3개 병진 DOF,2×2×2 전체 Gauss 적분, Total Lagrangian–St. Venant–Kirchhoff의 energy/internal force/material+geometric tangent. **이유와 영향:** 큰 회전·작은 elastic strain을 대상으로 같은 energy의 미분 일관성을 검증한다. Reduced/SRI/hourglass/hybrid/incompatible mode는 첫 범위에 없다. 굽힘/체적 잠김과 거의 비압축성 conditioning 한계를 공개한다. Abaqus C3D8 내부 처리와 동일하다고 주장하지 않는다. ## HEX8-ADR-002 — Constant reference consistent mass **선택:** M은 기준 밀도와 형상의 rho NiNj I 적분이며 eigen과 linear/nonlinear HHT에 동일하게 사용한다. **영향:** 전역 sparse generalized K/M가 필요하다. Shell nodal whitening·null-space 처리나 row-sum lumping을 호환 경로로 쓰지 않는다. Solid에는 회전/convective 관성이나 drilling이 없다. ## HEX8-ADR-003 — End-to-end Solid-only 절차 **선택:** Linear/nonlinear static, 원형상 unloaded frequency, linear/nonlinear HHT와 공식 HDF5를 연결한다. Nodal force와 static 영/비영 prescribed displacement만 지원하며 mixed Beam/Shell/Solid·pressure/ body force·prestressed modes는 제외한다. Dynamic은 initial q/v0, fixed zero BC·fixed step이다. **영향:** Model/DOF/state/writer에 Solid의3성분 분기가 필요하며 dummy6성분 결과로 대체하지 않는다. ## HEX8-ADR-004 — Reference ramp와 integration-point stress **선택:** 제공된 dynamic 원본에 필요한 TABULAR/STEP TIME/RELATIVE piecewise-linear CLOAD amplitude를 지원한다. 사용자 최종 답변 `1A, 2B 적분점 응력 결과로 수정했습니다.`에 따라 수정된 static S의8점6성분을 필수 비교한다. Static/BC amplitude·비영 초기 상태는 추가하지 않는다. **영향:** 곡선별 source load block을 보존하고 endpoint/initial force를 평가한다. Point key는 element/IntPt/component이며 elemental-nodal stress·평균·외삽으로 바꾸지 않는다. ## HEX8-ADR-005 — 독립 검증과 필수 외부 비교 **선택:** 분석/불변량·독립 numerical/physics 검토·실제 전체 Debug 회귀 및 승인 원본 비교를 결합한다. **영향:** 공통 row5%/RMS1%를 유지한다. MITC4 eigen RMS5% scoped exception은 적용하지 않는다. 원본 frequency Value 부재는 필수 비교 미실행이며 기능 검증 완료 대기다. 제공된4개 응답 case와 독립 eigen 검증은 진행한다. 기존 HHT baseline FAIL/SKIP을 신규 문제와 구분하며 전체 green을 주장하지 않는다. ## HEX8-ADR-006 — 기존 프로젝트와 소유권 유지 **선택:** Absent local marker에도 사용자 선택 A에 따라 기존 AGENTS/docs 맥락을 유지한다. **영향:** Foundation과 공통 요구/결정을 재작성하지 않는다. Feature 문서는 자체 계약과 필요한 handoff/evidence만 소유한다. Shared CMake/factory와 prepared/HDF5 연결에 단일 writer를 둔다. Failed candidate/출력 실패에서 accepted history와 기존 final HDF5를 보존한다. ## HEX8-ADR-007 — Inactive zero rotational BC의 한정된 호환 예외 **승인:** 2026-10-09 사용자는 필수 원본의 zero DOF4–6 경계와 strict 거부 계약 충돌에 대해 A(영 회전 경계만 경고/no-op으로 수용)를 선택했다. 독립 검토 HEX8-NR-001의 해결이다. **선택:** Solid-only supported displacement BC의 exact-zero DOF4–6(생략0 포함)만 source/location warning/no-op으로 수용한다. Mixed1–6 range의1–3은 적용하고4–6만 경고한다. **영향:** 실제 DOF·constraint·state/output은3성분이다. 비영 회전 BC·모든 회전 CLOAD, DOF범위 밖이나 의미 있는 미지원 BC 옵션은 계속 거부한다. 원본을 수정·preprocess하지 않는다. Parser에서 경고·translational 적용·회전 equation 부재·거부 경계를 행동 테스트로 확인한다.