49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Step 3: Material, Section, and Shear Defaults
|
|
|
|
## 읽어야 할 파일
|
|
|
|
- `/AGENTS.md`
|
|
- `/docs/PRD.md`
|
|
- `/docs/ARCHITECTURE.md`
|
|
- `/docs/ADR.md`
|
|
- `/docs/ABAQUS_INPUT_SUBSET.md`
|
|
- `/include/fesa/io/abaqus/semantic_mapper.hpp`
|
|
- `/include/fesa/model/material.hpp`
|
|
- `/include/fesa/model/beam_section.hpp`
|
|
- `/include/fesa/model/domain_builder.hpp`
|
|
|
|
## 작업
|
|
|
|
전역 material과 Part-local Beam section/ELSET assignment를 complete-deck resolution으로
|
|
semantic model에 연결한다.
|
|
|
|
- `*ELASTIC`의 \(E,\nu\)에서 \(G=E/[2(1+\nu)]\)를 계산한다.
|
|
- general section의 \(A,I_y,I_{yz},I_z,J\), orientation을 읽되 \(I_{yz}=0\)만
|
|
허용한다.
|
|
- explicit transverse stiffness를 \(A_{sy},A_{sz}\)로 변환한다.
|
|
- 생략 시 \(A_{sy}=A_{sz}=5A/6\), `SCF=0`,
|
|
`ShearPropertySource::phase1_default`를 적용한다.
|
|
- nonzero `SCF`, missing/duplicate material/section assignment, invalid properties를
|
|
실패 테스트로 먼저 작성한다.
|
|
|
|
## Acceptance Criteria
|
|
|
|
```powershell
|
|
cmake --build --preset windows-debug
|
|
ctest --preset windows-debug -R "MaterialMapping|BeamSection|ShearDefault" --output-on-failure
|
|
ctest --preset windows-debug --output-on-failure
|
|
```
|
|
|
|
## 검증 절차
|
|
|
|
1. material이 Part 뒤에 정의된 forward-resolution 테스트를 먼저 실패시킨다.
|
|
2. explicit/default shear 두 경로를 최소 구현한다.
|
|
3. HDF5에 저장할 source enum까지 Domain에 보존되는지 확인한다.
|
|
4. 전체 테스트와 index를 갱신한다.
|
|
|
|
## 금지사항
|
|
|
|
- 임의 단면에 대한 Abaqus 보편 기본값이라고 문서화하지 마라. 이유: FESA Phase 1 가정이다.
|
|
- nonzero \(I_{yz}\)를 버리지 마라. 이유: 조용한 정식화 변경이다.
|
|
- orientation을 자동 생성하지 마라. 이유: mandatory 입력 계약이다.
|