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
+41 -12
View File
@@ -4,24 +4,25 @@
FESA 솔버의 입력 파일은 Abaqus input file이다. 다만 초기 FESA는 Abaqus 전체 문법 호환을 목표로 하지 않고, 기능별로 지원할 Abaqus keyword subset과 내부 모델 매핑을 명확히 정의한다.
기본 파일명은 `docs/io-definitions/<feature-id>-io.md` 형식을 사용한다. 각 문서는 Requirement Agent, Formulation Agent, Numerical Review Agent의 산출물을 입력으로 받아 Abaqus `.inp` 입력 계약과 결과 CSV schema를 정의해야 한다.
기본 파일명은 `docs/io-definitions/<feature-id>-io.md` 형식을 사용한다. 각 문서는 Requirement Agent, Formulation Agent, Numerical Review Agent의 산출물을 입력으로 받아 Abaqus `.inp` 입력 계약, authoritative HDF5 result schema, deterministic CSV view schema를 정의해야 한다.
## I/O Definition Agent 역할
I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, output request mapping, comparison CSV schema를 정의한다.
I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, output request mapping, HDF5 result schema, comparison CSV view schema를 정의한다.
수행한다:
- 기능별 supported Abaqus keyword subset을 정의한다.
- unsupported, ignored-with-warning, requires-user-decision keyword 정책을 정의한다.
- model data와 history data를 내부 solver 개념으로 매핑한다.
- node, element, set, material, section, boundary condition, load, step, output request의 의미 계약을 정의한다.
- `displacements.csv`, `reactions.csv`, `element_forces.csv`, `stresses.csv` schema를 정의한다.
- `results.h5`의 authoritative HDF5 schema를 정의한다.
- `csv/displacements.csv`, `csv/reactions.csv`, `csv/element_forces.csv`, `csv/stresses.csv` deterministic CSV view schema를 정의한다.
수행하지 않는다:
- parser를 구현하지 않는다.
- C++ API나 파일 구조를 설계하지 않는다.
- Abaqus, Nastran 또는 레퍼런스 솔버를 직접 실행하지 않는다.
- reference CSV 결과를 생성하지 않는다.
- reference HDF5 파일이나 deterministic CSV view를 생성하지 않는다.
- solver 결과와 reference 결과를 비교하지 않는다.
- release readiness를 승인하지 않는다.
- 명시적으로 정의되지 않은 Abaqus full compatibility를 주장하지 않는다.
@@ -107,9 +108,33 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
- step: <semantic contract>
- output_request: <semantic contract>
## Output and CSV Schemas
## Output HDF5 Schema
### displacements.csv
- authoritative_file: `results.h5`
- schema_version: <version>
- root_attributes: units, coordinate_system, solver_version, feature_id, model_id
- step_frame_identity: <step/frame naming and ordering>
- row_identity_policy: <node_id | element_id | integration_point | component mapping>
| quantity | dataset_path | shape | dtype | required_attributes | location | notes |
| --- | --- | --- | --- | --- | --- | --- |
| displacement | /steps/<step>/frames/<frame>/field_outputs/U | <nnode, ndim> | float64 | component_names, units | nodal | |
| reaction | /steps/<step>/frames/<frame>/field_outputs/RF | <nnode, ndim> | float64 | component_names, units | nodal | |
| element_force | /steps/<step>/frames/<frame>/field_outputs/element_forces | <nrow, ncomp> | float64 | component_names, element_ids, location | element | feature-dependent |
| stress | /steps/<step>/frames/<frame>/field_outputs/S | <nrow, ncomp> | float64 | component_names, element_ids, integration_points | integration_point | feature-dependent |
## Deterministic CSV View Schemas
CSV view는 HDF5 dataset에서 추출한 deterministic comparison view이며 authoritative storage가 아니다.
공통 규칙:
- directory: `csv/`
- sort_order: step, frame, id, location, component
- numeric_format: <precision and exponent policy>
- missing_component_policy: 0 | N/A | omitted, feature-specific
- view_source: HDF5 dataset path를 각 파일 metadata 또는 report에 기록한다.
### csv/displacements.csv
| column | type | description |
| --- | --- | --- |
| step | string | step name or index |
@@ -119,7 +144,7 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
| uy | float | displacement component or 0/N/A |
| uz | float | displacement component or 0/N/A |
### reactions.csv
### csv/reactions.csv
| column | type | description |
| --- | --- | --- |
| step | string | step name or index |
@@ -129,7 +154,7 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
| rfy | float | reaction component or 0/N/A |
| rfz | float | reaction component or 0/N/A |
### element_forces.csv
### csv/element_forces.csv
| column | type | description |
| --- | --- | --- |
| step | string | step name or index |
@@ -139,7 +164,7 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
| component | string | force component name |
| value | float | component value |
### stresses.csv
### csv/stresses.csv
| column | type | description |
| --- | --- | --- |
| step | string | step name or index |
@@ -157,6 +182,8 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
- set_expansion: <policy>
- coordinate_conventions: <policy>
- output_quantity_availability: <policy>
- hdf5_schema_validation: <required datasets and attributes>
- csv_view_validation: <stable ordering and required columns>
## Open Issues and Downstream Handoff
@@ -164,10 +191,10 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
- <Abaqus input examples and reference artifact schema needs>
### Implementation Planning Agent
- <parser acceptance cases, unsupported keyword diagnostics, CSV writer tests>
- <parser acceptance cases, unsupported keyword diagnostics, HDF5 writer tests, CSV view exporter tests>
### Reference Verification Agent
- <CSV schemas, ID matching rules, units, coordinate conventions, tolerance-relevant fields>
- <HDF5 dataset paths, CSV view schemas, ID matching rules, units, coordinate conventions, tolerance-relevant fields>
```
## 품질 기준
@@ -177,4 +204,6 @@ I/O Definition Agent는 Abaqus input file subset, 내부 solver model mapping, o
- model data와 history data의 매핑을 구분해야 한다.
- unsupported keyword 처리 정책을 명확히 해야 한다.
- 내부 모델 계약은 semantic fields로 작성하고 C++ class/function/API를 확정하지 않는다.
- CSV schema는 column name, ID field, component naming, coordinate system, units, step/frame identity, quantity location을 포함해야 한다.
- `results.h5`가 authoritative solver output임을 명시해야 한다.
- HDF5 schema는 dataset path, dtype/shape, required attributes, ID field, component naming, coordinate system, units, step/frame identity, quantity location을 포함해야 한다.
- CSV view schema는 column name, stable sort order, ID field, component naming, coordinate system, units, step/frame identity, quantity location을 포함해야 한다.