5.3 KiB
Hex8 기능 결정 기록
Feature ID: hex8-structural-analysis. 상태: 사용자 승인된 구현 계약.
기준: 프로젝트 지침, 공통 PRD, 공통 ADR.
상세 행동은 PRD, 수식은 formulation을 따른다.
아래 결정은 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 부재·거부 경계를 행동 테스트로 확인한다.
HEX8-ADR-008 — High+low 내부 물리 상태와 Float64 observable
승인: 2026-10-09 사용자는 제한된 단일·두 좌표 및 보상 가산 관찰 실패 이후 A(내부 정밀도 변경안)를 선택했다. 선택: Solid HHT 내부 상태·predictor·힘·rates·수지·gate에 normalized high+low를 일관되게 사용하고 accepted history/rollback도 전체 상태를 보존한다. 기존 Float64 backend와 HDF5 field/shape/dtype은 유지하되 공식 값은 전체 물리량의 반올림 observable이다. 영향: 기존 Si/exact-zero·strict gate·HHT 계수·기준 M·고정 h/schedule·100회와 외부 tolerance는 유지한다. Kernel/geometry에 low를 전달하지 않는 update carry와 구분한다. 작은 독립 산술/Hex8·시간수렴·상태 보존 검증과 긍정적 실제 실행 이후 필수 원본101개 endpoint·HDF5/외부 비교·전체 회귀를 진행한다. 승인과 수렴 완료를 혼동하지 않는다.