docs: approve zero rotational boundary compatibility for Hex8
This commit is contained in:
@@ -47,3 +47,13 @@ element/IntPt/component이며 elemental-nodal stress·평균·외삽으로 바
|
||||
**영향:** 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 부재·거부 경계를 행동 테스트로 확인한다.
|
||||
|
||||
@@ -114,7 +114,11 @@ strain/energy, 에너지 gradient·내력 tangent, 좌표 공변성, 선형극
|
||||
|
||||
### FEM-REQ-HEX8-008 — 경계와 집중력
|
||||
|
||||
`*BOUNDARY`와 `*CLOAD`는 DOF1–3만 허용한다. DOF4–6은 값이 0이어도 거부한다.
|
||||
실제 `*BOUNDARY`와 `*CLOAD` 성분은 DOF1–3이다. Solid-only 입력 호환 예외로
|
||||
지원 displacement `*BOUNDARY`의 DOF4–6 exact-zero(생략된0 포함)만 source/location을
|
||||
남기는 명시적 warning/no-op으로 수용한다. 범위1–6은1–3을 적용하고4–6만 경고한다.
|
||||
회전 equation·constraint·state는 만들지 않는다. 비영 회전 BC, DOF4–6 CLOAD(값0 포함),
|
||||
DOF1–6 밖의 경계와 의미 있는 미지원 BC 옵션은 계속 거부한다.
|
||||
정적은 영/비영 지정 변위를 지원하고, 선형은 \(K_{ff}u_f=F_f-K_{fc}u_c\)다.
|
||||
비선형 정적에서는 지정 값과 외력을 같은 load factor로 증가시켜 이전 accepted 상태에서
|
||||
Newton을 수행한다. 동해석은 고정 exact-zero 경계만 지원한다. 동일 resolved node/DOF의
|
||||
@@ -420,7 +424,7 @@ Generalized sparse FEAST의 공개 진입점은
|
||||
|
||||
## 현재 checklist
|
||||
|
||||
- [ ] 수식·입출력·numeric controls·원본 mapping 정리 및 독립 numerical review 완료
|
||||
- [x] 수식·입출력·numeric controls·원본 mapping 정리 및 독립 numerical review 완료
|
||||
- [ ] Hex8 K0/consistent M/비선형 f/Kmat/Kgeo/Kt·형상·복구 kernel 검증
|
||||
- [ ] Solid Domain/parser/3N DOF/ordered assembly/amplitude 검증
|
||||
- [ ] 선형·비선형 정적 accepted state/반력/잔차 검증
|
||||
@@ -432,5 +436,5 @@ Generalized sparse FEAST의 공개 진입점은
|
||||
- [ ] 최신 전체 MSVC Debug build/CTest·기존 baseline 대조 완료
|
||||
- [ ] Independent numerical/physics blocker0·범위/한계/evidence 기록 완료
|
||||
|
||||
현재는 계약 문서를 작성 중이며 solver implementation/numerical/reference PASS를 주장하지 않는다.
|
||||
현재 계약 문서·독립 정식화 검토를 마쳤으며 solver implementation/numerical/reference PASS를 주장하지 않는다.
|
||||
원본 frequency 결과 부재는 구현 진행을 막지 않지만 기능 검증 완료를 막는다.
|
||||
|
||||
@@ -12,7 +12,11 @@ instance/label과 internal index를 구분한다. C3D8의8 distinct nodes와 SOL
|
||||
material 연결, constant E/nu 및 procedure별 density capability를 검증한다. Blank section row는
|
||||
허용하되 thickness/material orientation·다른 solid type를 default로 흡수하지 않는다.
|
||||
|
||||
BC/CLOAD는 DOF1–3만 허용한다. Static 비영 prescribed는 absolute target이며 nonlinear의
|
||||
실제 BC/CLOAD 성분은 DOF1–3이다. 사용자 승인된 호환 예외로 supported displacement BC의
|
||||
exact-zero DOF4–6(생략0 포함)만 source/location warning/no-op으로 처리한다. Mixed1–6 range는
|
||||
1–3을 적용하고4–6만 경고하며 회전 equation/state를 만들지 않는다. 비영 회전 BC와 모든
|
||||
회전 CLOAD는 거부하고 unsupported BC 옵션·DOF범위 밖 의미를 이 예외로 수용하지 않는다.
|
||||
Static 비영 prescribed는 absolute target이며 nonlinear의
|
||||
factor가 force/target 모두에 적용된다. Frequency는 homogeneous BC, dynamic은 exact-zero BC와
|
||||
initial q/v0만 허용한다. Unused node·mixed element·alias element·unknown set/material/source
|
||||
identity·bad density/geometry·unsupported meaningful keyword는 model/input failure다.
|
||||
|
||||
@@ -3,18 +3,23 @@
|
||||
검토 대상은 [PRD](PRD.md), [formulation](formulation.md), [numeric controls](numeric-controls.md),
|
||||
[I/O](io.md), [reference mapping](reference-model.md)이다. 2026-10-08 작성자와 독립된
|
||||
`hex8_t1_numerical` reviewer가 문서·관련 코드·원본을 대조했다. 수식에 추가 blocker는 없으나
|
||||
아래 필수 원본/입력 계약 충돌은 사용자 결정 대기다. 실제 solver 수치 PASS가 아니다.
|
||||
필수 원본/입력 계약 충돌은2026-10-09 사용자 선택 A로 해소했다. 구현 전 문서 blocker0이며
|
||||
실제 solver 수치 PASS가 아니다.
|
||||
|
||||
## HEX8-NR-001 — 영 회전 경계와 필수 원본 충돌
|
||||
|
||||
현재 PRD008/I/O는 BC/CLOAD DOF4–6을 값0이어도 거부한다. 그러나 모든 필수 INP에
|
||||
검토 당시 PRD008/I/O는 BC/CLOAD DOF4–6을 값0이어도 거부했다. 그러나 모든 필수 INP에
|
||||
`Set-1, 4, 4`, `Set-1, 5, 5`, `Set-1, 6, 6`의 생략된 영 지정값이 있다.
|
||||
Static2/frequency는794–796행, dynamic2는796–798행이다. Read-only 원본을 그대로
|
||||
사용하면5개 모두 input failure이므로 end-to-end integration/필수 비교를 진행할 수 없다.
|
||||
|
||||
원본의 영 회전 BC만 warning/no-op으로 수용하는 입력 호환 예외와, strict 거부를 유지하고
|
||||
사용자가 원본을 수정하는 두 대안을 사용자에게 제시했다. 현재 승인 대기이며 silent ignore/
|
||||
원본 preprocessing을 적용하지 않았다. Kernel 수식에는 이 충돌과 무관한 수치 blocker가 없다.
|
||||
사용자가 원본을 수정하는 두 대안을 제시했다. 2026-10-09 사용자는 A를 승인했다.
|
||||
PRD008/I/O를 zero rotational displacement BC만 source warning/no-op으로 수용하는 한정된
|
||||
호환 예외로 수정했다. 비영 회전 BC·모든 회전 CLOAD는 계속 거부하고 원본을 보존한다.
|
||||
따라서 문서 blocker는 해소됐으며 구현에서 경고·실제3N·거부 경계를 테스트해야 한다.
|
||||
동일 독립 reviewer가 승인된 수정 부분만 bounded recheck했고 `blockers: []`를 반환했다.
|
||||
정적 읽기 확인 exit0이며 수식 재검토·code 변경·solver 실행은 하지 않았다.
|
||||
|
||||
## 독립 검토에서 정리한 내용
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@ Source revision은2382d3a이며 사용자 제공 `reference/hexa/`의5 INP·8 CS
|
||||
Static DIRECT h=.1/T=1의 마지막 Increment10을 비교하고 nonlinear은 NLGEOM=YES다.
|
||||
Dynamic DIRECT h=.1/T=10의 Increment0..100 전체를 비교한다. Amp-1은 `(0,0),(.1,1),(10,1)`다.
|
||||
Frequency는 original unstressed 상태의10 modes 요청이며 결과 Value는 아직 제공되지 않았다.
|
||||
원본5개 모두 Set-1의 zero rotational BC4/5/6을 포함한다. 사용자 승인된
|
||||
[HEX8-ADR-007](ADR.md#hex8-adr-007--inactive-zero-rotational-bc의-한정된-호환-예외)에 따라
|
||||
이 행만 source warning/no-op으로 처리하며 원본과 실제3N mapping을 보존한다.
|
||||
|
||||
| 원본 | CSV rows | SHA-256 raw |
|
||||
| --- | ---: | --- |
|
||||
|
||||
@@ -1,20 +1,5 @@
|
||||
# 미해결 문제
|
||||
|
||||
## Hex8 필수 원본과 영 회전 경계 입력 계약의 충돌
|
||||
|
||||
- 조건·현상: 승인된 Hex8 입력 계약은 BC DOF4–6을 값0이어도 거부하지만,
|
||||
`reference/hexa/`의 필수5 INP 모두 `Set-1, 4, 4`, `Set-1, 5, 5`, `Set-1, 6, 6`의
|
||||
생략된 영 지정값을 포함한다. 정적2/frequency는794–796행, 동적2는796–798행이다.
|
||||
- 영향: 엄격한 계약을 그대로 구현하면5개 원본 모두 input failure로 필수 비교가 불가능하다.
|
||||
독립 kernel 수식에 대한 blocker와는 별개다.
|
||||
- 현재 해결하지 못하는 이유: 승인된 입력 의미를 변경하거나 원본을 수정할 권한을
|
||||
임의로 추정하지 않는다. 영 회전 BC만 경고/no-op으로 수용하는 예외 또는 엄격한 거부 유지와
|
||||
사용자 원본 수정 중 한정된 결정을 요청한 상태다.
|
||||
- 다음 접근: 사용자 답변에 따라 [기능 PRD](../hex8-structural-analysis/PRD.md),
|
||||
[I/O](../hex8-structural-analysis/io.md), [결정](../hex8-structural-analysis/ADR.md)을 일치시키고
|
||||
승인된 의미를 parser 테스트로 검증한다. [독립 수치 검토](../hex8-structural-analysis/numerical-review.md)의
|
||||
HEX8-NR-001을 해소하며 원본/source identity와 비영 회전 경계·회전 CLOAD 거부는 보존한다.
|
||||
|
||||
## HHT shell의 시간수렴
|
||||
|
||||
- 조건·현상: 실제 shell의 두 시간수렴 사례에서 요구한 수렴 성능을 만족하지 못한
|
||||
|
||||
Reference in New Issue
Block a user