modify docu
This commit is contained in:
+17
-12
@@ -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를 추가 비교한다.
|
||||
|
||||
Reference in New Issue
Block a user