docs(hex8): record Solid output evidence and usage
This commit is contained in:
@@ -10,6 +10,7 @@ static/frequency/HHT 절차를 추가한다. 코드 존재와 기능 검증 완
|
|||||||
|
|
||||||
| 문서 | 책임·용도 |
|
| 문서 | 책임·용도 |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
|
| [README](README.md) | 개발 목적·CLI 사용·다른 기능의 참조점·적용 한계 |
|
||||||
| [formulation](formulation.md) | 3D local 계산, energy/force/tangent, mass·HHT와 검증 불변량 |
|
| [formulation](formulation.md) | 3D local 계산, energy/force/tangent, mass·HHT와 검증 불변량 |
|
||||||
| [io](io.md) | 입력 의미·typed 경계·공식 결과 metadata/units·진단 |
|
| [io](io.md) | 입력 의미·typed 경계·공식 결과 metadata/units·진단 |
|
||||||
| [numeric controls](numeric-controls.md) | 수치 scale·zero branch·tuning·독립 검사 기준 |
|
| [numeric controls](numeric-controls.md) | 수치 scale·zero branch·tuning·독립 검사 기준 |
|
||||||
|
|||||||
@@ -435,7 +435,7 @@ HHT 식·기준 consistent M·입력·고정 schedule·100회·Si/exact-zero·
|
|||||||
- [x] 선형·비선형 정적 accepted state/반력/잔차 검증
|
- [x] 선형·비선형 정적 accepted state/반력/잔차 검증
|
||||||
- [x] Generalized consistent-mass frequency·최저 N·original-pencil 검증
|
- [x] Generalized consistent-mass frequency·최저 N·original-pencil 검증
|
||||||
- [x] 선형·비선형 HHT u/v/physical a·시간수렴·수지 내부 검증
|
- [x] 선형·비선형 HHT u/v/physical a·시간수렴·수지 내부 검증
|
||||||
- [ ] 공식 HDF5/CLI/self-check/실패 final 보존 검증
|
- [x] 공식 HDF5/CLI/self-check/실패 final 보존 검증
|
||||||
- [ ] 정적2·동적2 원본 필수 family 비교 PASS
|
- [ ] 정적2·동적2 원본 필수 family 비교 PASS
|
||||||
- [ ] 사용자 원본 최저10 modal Value 제공 및 필수 비교 PASS
|
- [ ] 사용자 원본 최저10 modal Value 제공 및 필수 비교 PASS
|
||||||
- [ ] 최신 전체 MSVC Debug build/CTest·기존 baseline 대조 완료
|
- [ ] 최신 전체 MSVC Debug build/CTest·기존 baseline 대조 완료
|
||||||
@@ -455,5 +455,10 @@ native CTest exit0이며 독립 수치 검토를 통과했다. 두 정적 원본
|
|||||||
증분1–3은 unchanged schedule로 관측했고, 원래 모든 free 성분의 전체 pair 물리 gate를
|
증분1–3은 unchanged schedule로 관측했고, 원래 모든 free 성분의 전체 pair 물리 gate를
|
||||||
독립 재계산했다. 이 관측은 네 번째 증분 전에 종료했으며 전체101 endpoint 완료가 아니다.
|
독립 재계산했다. 이 관측은 네 번째 증분 전에 종료했으며 전체101 endpoint 완료가 아니다.
|
||||||
상세 범위와 한계는 [수치 검토](numerical-review.md), [물리 검토](physics-review.md)에 있다.
|
상세 범위와 한계는 [수치 검토](numerical-review.md), [물리 검토](physics-review.md)에 있다.
|
||||||
공식 결과·외부 비교·최신 전체 회귀도 남아 있다.
|
공식 결과 연결은 `e2c3c5b`에 통합했다. 작성자 행동본의 관련101/101과 public header만
|
||||||
|
보완한 후속본의5절차 API/schema1/1이 native build/CTest0/0이며, 독립 수치·I/O 검토에서
|
||||||
|
요청 밖 modal pair의 입력 검증 누락을 보완하고 잔여 finding0을 확인했다. 메인 연결 후
|
||||||
|
실제 CLI·HDF5·full-pair RN64·실패 final 보존 관련17/17도 native build/CTest0/0이다.
|
||||||
|
이 범위의 완료와 외부 비교·최신 전체 회귀는 구분한다. 실행 방법은 [README](README.md),
|
||||||
|
세부 근거와 한계는 [수치 검토](numerical-review.md)에 있다.
|
||||||
원본 frequency 결과 부재는 구현 진행을 막지 않지만 기능 검증 완료를 막는다.
|
원본 frequency 결과 부재는 구현 진행을 막지 않지만 기능 검증 완료를 막는다.
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
# Hex8 구조해석
|
||||||
|
|
||||||
|
개인 연구용 FESA에 8절점 육면체의 선형 강성, Total Lagrangian–StVK 기하비선형
|
||||||
|
내력·접선 강성과 기준 형상의 consistent 질량을 추가한다. 요소당 병진 자유도는24개이며
|
||||||
|
강성·질량·복구에 full 2×2×2 적분을 사용한다. 선형/비선형 정적, consistent-mass frequency,
|
||||||
|
선형/비선형 HHT 동해석을 typed state에서 공식 HDF5와 CLI까지 연결한다.
|
||||||
|
|
||||||
|
구현과 기능 검증 완료는 다르다. 원본 정적2·동적2의 필수 수치 비교, 사용자 modal Value와
|
||||||
|
최신 전체 회귀·최종 검토가 완료 조건이다. 현재 상태는 [PRD checklist](PRD.md#현재-checklist),
|
||||||
|
선택과 승인 이력은 [ADR](ADR.md)에 있다.
|
||||||
|
|
||||||
|
## 사용법
|
||||||
|
|
||||||
|
[공통 환경·빌드 방법](../operations.md)에 따라 MSVC x64 Debug 실행 파일과 dependency DLL을
|
||||||
|
준비한다. CLI는 입력 `.inp` 하나를 받으며 입력의 lexical parent에 `<stem>_results.h5`와
|
||||||
|
`<stem>_log.txt`를 생성한다. `--output`은 지원하지 않는다.
|
||||||
|
|
||||||
|
Read-only 원본에서 직접 실행하지 않고 별도 폴더에 복사한 입력으로 실행한다. 저장소 루트의
|
||||||
|
다음 예시는 제공된 선형 정적 입력을 사용한다.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
New-Item -ItemType Directory -Path '.harness/hex8-example' -Force
|
||||||
|
Copy-Item -LiteralPath 'reference/hexa/hexa_linearstatic.inp' -Destination '.harness/hex8-example/hexa_linearstatic.inp'
|
||||||
|
& '.harness/build-ninja-msvc-debug/src/fesa/fesa.exe' '.harness/hex8-example/hexa_linearstatic.inp'
|
||||||
|
$LASTEXITCODE
|
||||||
|
```
|
||||||
|
|
||||||
|
Native exit0과 이번 입력의 `source_input_identity`를 함께 확인한다. 기존 결과 파일의 존재만으로
|
||||||
|
이번 실행의 성공을 판단하지 않는다. 해석·로그·쓰기·readback·close·final 교체 실패에서는 기존
|
||||||
|
최종 HDF5를 보존한다.
|
||||||
|
|
||||||
|
입력은 single Part/identity Instance의 Solid-only `C3D8`, `SOLID SECTION`, 상수 등방성
|
||||||
|
`ELASTIC`을 사용한다. Frequency와 동해석에는 양의 `DENSITY`가 필요하다. 실제 BC/CLOAD는
|
||||||
|
DOF1–3이다. 승인된 exact-zero 회전 BC4–6만 source 경고와 no-op으로 처리하며, 비영 회전
|
||||||
|
BC와 값0을 포함한 모든 회전 CLOAD는 거부한다. Unsupported 의미를 기본값으로 흡수하지 않는다.
|
||||||
|
|
||||||
|
정적 해석은 지정 변위·집중하중, 비선형은 full Newton을 사용한다. 동해석은 fixed
|
||||||
|
`DYNAMIC,DIRECT` schedule, 영 초기 변위·속도와 영 지정 BC를 사용하며 CLOAD의
|
||||||
|
`TABULAR` step-time relative amplitude·선형 보간·끝 값 유지를 지원한다. Frequency의 원본
|
||||||
|
LANCZOS 표기는 보존하지만 내부 해법은 generalized MKL FEAST다. 상세 subset과 실패 의미는
|
||||||
|
[I/O 계약](io.md), field·shape는 [PRD017](PRD.md#fem-req-hex8-017--hdf5-계약)을 따른다.
|
||||||
|
|
||||||
|
## 결과와 다른 기능 개발의 참조점
|
||||||
|
|
||||||
|
Nodal 결과는 `N×3`, 적분점 stress/strain은 `E×8×6`이다. Source node/element/IntPt identity를
|
||||||
|
보존하고 절점 평균·외삽을 하지 않는다. Stress는 global Cauchy, strain은 선형 infinitesimal
|
||||||
|
또는 비선형 Green–Lagrange이며 shear 성분은 tensor다. 반력과 전체 residual은 구분한다.
|
||||||
|
Frequency는 modes/vectors와 모든 반환 pair의 검증량을 별도 eigen 경로에 저장한다.
|
||||||
|
|
||||||
|
HHT는 변위·속도·physical a·algorithmic A와 force·energy·history를 normalized high+low로
|
||||||
|
유지한다. 공식 Float64는 전체 물리량의 RN64 observable이며 low를 별도 영속 field로 내보내지
|
||||||
|
않는다. 출력 배열만으로 엄격한 내부 gate를 다시 계산해 같은 판정을 기대하지 않는다.
|
||||||
|
Restart는 지원하지 않는다. [정밀도 정식화](precision-formulation.md)는 같은 gradient의
|
||||||
|
내력·미분, 산술 범위와 반올림 의미를 다음 개발에 전달한다.
|
||||||
|
|
||||||
|
[정식화](formulation.md)는 K/M·접선·형상 인증·물리량의 기준이다.
|
||||||
|
[수치 기준](numeric-controls.md)은 엄격한 내부 gate와 외부 tolerance를 구분한다.
|
||||||
|
[원본 mapping](reference-model.md)은 case/frame/source identity·point 순서·RF projection을
|
||||||
|
소유한다. 독립 평가의 범위는 [수치 검토](numerical-review.md)와 [물리 검토](physics-review.md),
|
||||||
|
실패와 수정 근거는 [lessons](lessons.md)에 보존한다.
|
||||||
|
|
||||||
|
## 적용 한계
|
||||||
|
|
||||||
|
Full integration의 굽힘 shear locking과 거의 비압축성의 locking을 다른 요소 formulation으로
|
||||||
|
자동 대체하지 않는다. Warped geometry는 보수적으로 cell 전체의 Jacobian 양성을 인증하며
|
||||||
|
uncertain geometry/trial도 실패한다. StVK 선택과 입력 호환성은 외부 solver의 내부 재료·체적
|
||||||
|
처리·시간 알고리즘 동등성을 보증하지 않는다.
|
||||||
|
|
||||||
|
Reduced/hybrid/incompatible·20절점 요소, 소성·contact, mixed Shell–Solid mesh, 압력·체적력,
|
||||||
|
시간변화 지정 BC·비영 초기 상태, adaptive/explicit dynamics와 restart는 범위 밖이다.
|
||||||
|
한 원본 U의 일치만으로 physical a·에너지·일반 mesh나 장시간 정확성을 검증했다고 주장하지 않는다.
|
||||||
@@ -56,6 +56,30 @@ source-prefix bounded PASS를 반환했다. 저장값 비교의2^-90 budget을
|
|||||||
graph/106-bit 정확도 보장으로 확대하지 않는다. 이 검산은 accepted 상태와 실제 반환 du를
|
graph/106-bit 정확도 보장으로 확대하지 않는다. 이 검산은 accepted 상태와 실제 반환 du를
|
||||||
확인하며 중간 각 solve의 Kt/Keff·RHS 방정식 잔차를 별도로 증명한 것은 아니다.
|
확인하며 중간 각 solve의 Kt/Keff·RHS 방정식 잔차를 별도로 증명한 것은 아니다.
|
||||||
|
|
||||||
|
## 공식 결과·prepared/CLI 연결의 독립 검토
|
||||||
|
|
||||||
|
작성자 행동본 `9144eef`와 public header 직접 include·Doxygen만 보완한 후속본 `63cfdd0`을
|
||||||
|
독립 reviewer가 검토했다. Typed Solid static/frequency/dynamic outcome, 실제5절차 dispatch,
|
||||||
|
source warning, static 실제2채널·dynamic scalar 로그와 로그 실패 우선순위를 확인했다.
|
||||||
|
HDF5 field·dtype/endian/UTF-8·shape·source identity·units, 전체 pair 검증 이후 RN64 출력,
|
||||||
|
callback 이후 산술 환경, 실제 writer/reader checked-close·readback·atomic replace와 기존
|
||||||
|
final 보존을 확인했다. Rounded 배열에서 물리 gate를 다시 계산하지 않는다.
|
||||||
|
|
||||||
|
요청 mode 뒤의 backend pair에는 차원 상한·정렬·유의 음수 lambda 검증이 빠져 있었다.
|
||||||
|
전체 pair 수를 free 차원 이하로 제한하고 T5와 같은 `lambda/scale>=-1e-9` 정책을 적용했다.
|
||||||
|
실제3-free/request1 API 결과에서 요청 밖 row를 음수·역순·차원 초과로 각각 변형해
|
||||||
|
서로 다른 거부 원인과 기존 final byte 보존을 확인했다. Raw near-zero 음수를0으로
|
||||||
|
바꾸거나 그 frequency를 생성하지 않는다. 이 finding은 해소됐으며 잔여 actionable finding0이다.
|
||||||
|
|
||||||
|
행동본의 실제 native build/CTest는0/0, 관련101/101 PASS·112.60s다. Header-only 후속본은
|
||||||
|
전체 configured 대상 recompile0 및5절차 API/schema1/1 PASS·9.88s이며101개를 후속본에서
|
||||||
|
다시 실행한 것으로 보고하지 않는다. 메인 `e2c3c5b`는 같은13개 owned blob과4개 CMake
|
||||||
|
등록을 연결했고 관련17/17을 native build/CTest0/0·72.95s로 확인했다.
|
||||||
|
원시114개 SHA/크기와 source13개 committed blob/snapshot 일치를 reviewer와 메인이 각각
|
||||||
|
확인했다. 로컬 자료는 `.harness/hex8-evidence/{t7-output-frozen,t7-integrated}/`다.
|
||||||
|
이 판정은 T7의 bounded PASS다. 전체780개 CTest·공식 원본 CLI 수치 비교·기능 완료와
|
||||||
|
release PASS를 뜻하지 않는다.
|
||||||
|
|
||||||
## HEX8-NR-001 — 영 회전 경계와 필수 원본 충돌
|
## HEX8-NR-001 — 영 회전 경계와 필수 원본 충돌
|
||||||
|
|
||||||
검토 당시 PRD008/I/O는 BC/CLOAD DOF4–6을 값0이어도 거부했다. 그러나 모든 필수 INP에
|
검토 당시 PRD008/I/O는 BC/CLOAD DOF4–6을 값0이어도 거부했다. 그러나 모든 필수 INP에
|
||||||
|
|||||||
Reference in New Issue
Block a user