5.0 KiB
5.0 KiB
PRD: FESA MITC4 Linear Static Shell Solver
목적
FESA는 유한요소 input 파일을 읽어 구조해석을 수행하고, 절점과 요소의 해석 결과를 출력하는 C++ 구조해석 솔버를 제공한다. 초기 제품 기능은 MITC4 4절점 shell element 기반 선형정적 해석이다.
사용자
- 구조해석 솔버를 개발하는 C++/MSVC 개발자
- Abaqus/Nastran 계열 input과 결과 검증 방식을 이해하는 해석 엔지니어
- reference solver 결과와 FESA 결과를 비교해 기능 release를 판단하는 reviewer
- Codex/FESA agent workflow로 기능을 단계별 구현하는 agent
문제 정의
구조해석 솔버는 단순히 코드를 빌드하는 것만으로 정확성을 판단할 수 없다. 요소 정식화, 입력 mapping, 선형해법, 결과 출력, reference solver 비교, tolerance 판정이 모두 명시되어야 한다. FESA는 이 과정을 문서화된 단계와 자동 검증으로 묶어 구현 실수를 줄인다.
핵심 기능
- Abaqus
.inpsubset 입력*NODE,*ELEMENT,*MATERIAL,*ELASTIC,*SHELL SECTION,*BOUNDARY,*CLOAD,*STEP지원- unsupported keyword는 명시적 diagnostic을 낸다.
- MITC4 shell 선형정적 해석
- 4-node quadrilateral shell
- 6 DOF per node:
U1, U2, U3, UR1, UR2, UR3 - isotropic linear elastic shell section
- 2x2 Gauss integration
- membrane, bending, transverse shear resultants
- Sparse system solve
- CSR global stiffness assembly
- Intel oneAPI MKL PARDISO direct solver
- constrained DOF 처리와 reaction recovery
- Parallel computation
- Intel oneAPI TBB 기반 element stiffness/result recovery 병렬화
- deterministic assembly merge
- HDF5 result output
- mesh metadata
- nodal displacement
- nodal reaction
- element internal force/resultant
- element stress
- Reference solver verification
- stored Abaqus S4R reference HDF5 artifact와 비교
- Abaqus S4 artifact는 diagnostic reference로 보관
- nodal displacement, reaction, element internal force, stress 비교
- tolerance
1e-5단일 기준
- Solver state and result model
Domain,AnalysisModel,AnalysisState분리- step/frame/field/history HDF5 결과 구조
- constrained DOF 제거와 full-system reaction recovery
- Extensible object creation
- Abaqus parser와 element/material/load/boundary factory registry 분리
- 향후 1D/3D 요소, nonlinear, dynamic, thermal 기능 추가를 위한 module boundary 유지
성공 기준
- MITC4 요구조건, 연구, 정식화, I/O, reference model, 구현 계획, reference verification, release 문서가 작성되어 있다.
- 모든 C++ production 변경은 관련 테스트가 먼저 작성되고 실패가 확인된 뒤 구현된다.
- MSVC x64 Debug CMake build와 CTest가 통과한다.
- 다음 테스트모델이 stored Abaqus S4R reference와
abs-or-rel 1e-5이내로 일치한다.- membrane patch
- bending patch
- transverse shear patch
- twist patch
- coarse Scordelis-Lo shell
- HDF5 output schema가 reference comparison에 필요한 모든 id, component, step/frame, units, metadata를 포함한다.
- Essential boundary condition reaction은
K_full * U_full - F_full기준으로 계산되어 reference reaction과 비교 가능하다. - Singular system 또는 solver factorization 실패는 명시적 diagnostic으로 보고된다.
제외 사항
- Nastran BDF parser
- nonlinear static analysis
- geometric nonlinearity
- dynamic analysis
- eigen/buckling analysis
- material plasticity
- layered composite shell section
- contact analysis
- Abaqus/Nastran 실행 자동화
- reference artifact 자동 생성
- OpenSees API 호환성
- Phase 1 mesh quality scoring
확장 로드맵
MITC4 선형정적 기능이 reference 검증을 통과한 뒤 다음 기능을 별도 요구조건과 정식화 문서로 진행한다.
- nonlinear static analysis
- nonlinear dynamic analysis
- heat transfer and thermal-stress coupling
- 1D truss/beam and 3D solid elements
- additional material models and properties
Dependency Requirements
- MSVC and CMake must be available for C++ build validation.
- Intel oneAPI MKL must be available through
MKLROOTor known oneAPI installation paths. - Intel oneAPI TBB must be available through
TBBROOTor known oneAPI installation paths. - HDF5 C library must be supplied through
HDF5_ROOTorHDF5_DIR; the current local default isC:\Program Files\HDF_Group\HDF5\2.1.1, with CMake package files underC:\Program Files\HDF_Group\HDF5\2.1.1\cmake. - Python 3 must be available for harness validation and phase execution.
Release Requirements
Solver feature release is allowed only when:
- Requirements are approved.
- Research evidence and formulation are reviewed.
- I/O contract and HDF5 schema are fixed.
- Reference model artifacts exist and provenance is documented.
- C++ TDD implementation passes CTest.
- Reference comparison passes tolerance
1e-5. - Known limitations are written in the release document.