modify docu

This commit is contained in:
김경종
2026-06-11 17:18:03 +09:00
parent c4f8f95d4b
commit 742f311be1
66 changed files with 3354 additions and 375 deletions
+17 -12
View File
@@ -9,7 +9,7 @@
- 기능 요구조건, 이론 정식화, 코드 구현, 검증, 배포 역할을 분리한다.
- 실행 가능성만으로 성공을 판단하지 않고, 레퍼런스 결과와 물리량을 비교해 기능 완료를 판정한다.
- 테스트는 구현 전에 준비한다. 개발 대상 솔버 테스트와 레퍼런스 솔버 결과 비교 테스트를 함께 사용한다.
- Abaqus나 Nastran을 Agent가 직접 실행하지 않는다. `references/`에 저장된 입력 파일과 레퍼런스 CSV 결과를 검증 기준으로 사용한다.
- Abaqus나 Nastran을 Agent가 직접 실행하지 않는다. `references/`에 저장된 입력 파일, `reference.h5`, deterministic CSV views를 검증 기준으로 사용한다.
- 기본 개발 환경은 C++17 이상, MSVC, CMake, CTest이다.
- 모든 기능은 tolerance 기준을 명시하고, 기준을 만족할 때만 배포 후보가 된다.
@@ -98,14 +98,15 @@
책임:
- mesh, node, element, material, section, boundary condition, load, step 입력 형식을 정의한다.
- 출력 CSV 또는 result file schema를 정의한다.
- authoritative HDF5 result schema와 deterministic CSV view schema를 정의한다.
- Abaqus input file과 내부 입력 모델 사이의 대응 관계를 정리한다.
- 결과 비교를 위해 레퍼런스 CSV와 구현 솔버 출력의 컬럼 규약을 맞춘다.
- 결과 비교를 위해 reference HDF5 dataset, solver HDF5 dataset, deterministic CSV view의 ID/컴포넌트 규약을 맞춘다.
주요 산출물:
- 입력 데이터 schema
- 출력 데이터 schema
- 결과 비교용 CSV schema
- HDF5 result schema
- 결과 비교용 deterministic CSV view schema
- 단위와 좌표계 규약
### Reference Model Agent
@@ -113,7 +114,7 @@ TDD와 검증에 사용할 테스트 모델을 준비하는 Agent이다.
책임:
- 개발 대상 기능을 검증할 최소 모델, benchmark 모델, 회귀 모델을 설계한다.
- `references/`에 보관할 Abaqus input file과 Abaqus 결과 CSV 요구사항을 정의한다.
- `references/`에 보관할 Abaqus input file, `reference.h5`, deterministic CSV view 요구사항을 정의한다.
- 레퍼런스 결과에 포함될 물리량과 tolerance를 명시한다.
- 테스트 모델이 요구조건을 실제로 검증하는지 확인한다.
@@ -128,10 +129,12 @@ references/
<feature-name>/
model.inp
metadata.json
displacements.csv
reactions.csv
element_forces.csv
stresses.csv
reference.h5
csv/
displacements.csv
reactions.csv
element_forces.csv
stresses.csv
```
### Implementation Planning Agent
@@ -200,7 +203,7 @@ python scripts/validate_workspace.py
구현 솔버 결과와 저장된 레퍼런스 결과를 비교하는 Agent이다.
책임:
- 구현 솔버 결과 CSV`references/`Abaqus CSV를 비교한다.
- 구현 솔버 `results.h5``references/``reference.h5`를 비교하고, deterministic CSV views를 row identity 검토와 report evidence로 사용한다.
- 절점 변위, 반력, 요소 내력, 응력의 tolerance 만족 여부를 평가한다.
- absolute tolerance, relative tolerance, norm-based tolerance를 구분해 적용한다.
- 결과 차이가 tolerance 밖이면 원인 후보를 분류한다.
@@ -304,7 +307,7 @@ flowchart TD
### Gate 5: 레퍼런스 검증
통과 조건:
- 저장된 Abaqus CSV 결과와 구현 솔버 결과가 tolerance 안에 있다.
- 저장된 reference HDF5 결과와 구현 solver HDF5 결과가 tolerance 안에 있다.
- 절점 변위, 반력, 요소 내력, 응력 비교 결과가 리포트로 남아 있다.
- 실패한 물리량이 없거나 승인된 known limitation으로 기록되어 있다.
@@ -314,9 +317,11 @@ flowchart TD
- 문서와 release note가 준비되어 있다.
- 남은 제한사항이 명확히 기록되어 있다.
## Reference CSV 비교 기준
## Reference HDF5 / CSV View 비교 기준
권장 비교 방식:
- authoritative 비교는 `results.h5``reference.h5`의 dataset 기준으로 수행한다.
- CSV는 HDF5 dataset에서 추출한 deterministic view로만 사용한다.
- scalar 값: absolute tolerance와 relative tolerance를 함께 적용한다.
- vector 값: component-wise 비교와 norm 비교를 함께 기록한다.
- stress tensor: component-wise 비교를 기본으로 하고, 필요한 경우 principal stress 또는 von Mises stress를 추가 비교한다.