modify tolerance policy
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
- 프로젝트의 배경, 목적, 사용자, 범위는 `docs/PRD.md`에서 확인한다.
|
||||
- 전체 아키텍처와 모듈별 책임은 `docs/ARCHITECTURE.md`에서 확인한다.
|
||||
- 주요 아키텍처 결정과 그 이유 및 트레이드오프는 `docs/ADR.md`에서 확인한다.
|
||||
- 외부 reference tolerance 값, 판정 과정, 보고서와 변경 관리는
|
||||
`docs/TOLERANCE.md`를 따른다.
|
||||
- AI 에이전트는 설계나 구현 결정을 내리기 전에 PRD에서 제품 범위를, ARCHITECTURE에서 소유권과 데이터 흐름을, ADR에서 이미 결정된 트레이드오프를 먼저 확인한다. 기능별 요구조건, 연구, 정식화, 수치/reference 검토, I/O, 구현, 검증, 물리 및 release 의미는 `docs/<feature-id>/`의 승인 문서를 source of truth로 삼는다.
|
||||
- Harness는 솔버 자체가 아니라 요구조건, TDD, phase 실행, 검증을 통제하는 개발 운영 인프라이다. 전체 실행 흐름은 `docs/HARNESS_WORKFLOW.md`, 설치와 설정은 `docs/HARNESS.md`를 따른다.
|
||||
- FESA는 Abaqus와 독립적인 솔버다. 문서와 구현은 full Abaqus compatibility뿐 아니라
|
||||
@@ -32,6 +34,18 @@
|
||||
- 비교기는 필요한 source row identity와 component를 결정적으로 대응시키고 누락, 추가,
|
||||
중복, nonfinite 값을 tolerance 전에 거부한다. Reference artifact는 rename, rewrite 또는
|
||||
보정하지 않는다.
|
||||
- 모든 외부 reference comparison은 `docs/TOLERANCE.md`의 공통 정책을 사용한다.
|
||||
설계 근거는 `docs/superpowers/specs/2026-08-17-common-reference-tolerance-design.md`와
|
||||
ADR-022에 보존한다. 동일 logical quantity, unit dimension, coordinate system과 blocking behavior의
|
||||
component family에서 Abaqus-only scale `S=max(abs(reference))`를 구한다. `abs(reference)`가
|
||||
`0.01*S` 이하인 행은 `abs(fesa-reference) <= 0.01*S`, 그 외 행은 상대오차 `<=0.05`로
|
||||
판정하고, family scale-relative RMS `RMS(error)/S <= 0.01`도 함께 통과해야 한다. 별도
|
||||
absolute-error gate는 사용하지 않으며 zero-scale family는 FESA도 exact zero일 때만
|
||||
통과한다.
|
||||
- B33 section-resultant reference는 `(instance, element label, endpoint node label,
|
||||
component)`로 HDF5 element endpoint와 직접 대응한다. Node-station collapse 또는 평균을
|
||||
사용하지 않는다. MITC4 `U1/U2/U3`는 blocking, `UR1/UR2/UR3`는 warning-only 분류를
|
||||
유지하면서 같은 공통 수치 정책을 사용한다.
|
||||
- CSV는 FESA 공식 output이 아니며, FESA HDF5에서 추출한 deterministic CSV view는 비교 디버깅/검토용 보조 artifact로만 둔다.
|
||||
|
||||
## FESA 개발의 핵심 원칙
|
||||
|
||||
Reference in New Issue
Block a user