Files
FESADev/docs/hex8-structural-analysis/ADR.md
T

60 lines
4.4 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.
# 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 부재·거부 경계를 행동 테스트로 확인한다.