Files
FESADev/docs/ARCHITECTURE.md
2026-04-20 16:59:08 +09:00

2.3 KiB

아키텍처

디렉토리 구조

src/
├── Analysis/        # Analysis 관련 class
├── Property/        # 요소 재료 및 속성 관련 class
├── Element/         # 절점, 요소 관련 class
├── Boundary/        # 경계조건 관련 class
├── Load/            # 하중 관련 class
└── Util/            # 수학 라이브러리 등 솔버 utility 관련 class

클래스 구조


Domain              # 전체 해석 객체들을 저장하고 관리하는 class

AnalysisModel       # 현재 해석 step에서 active 되는 해석 객체들을 저장하는 class

AnalysisObject
├── Analysis        # Analysis 관련 class
    ├── StaticAnalysis
    ├── DynamicAnalysis
    ├── FrequencyAnalysis
    ├── ...
├── Property        # 요소 재료 및 속성 관련 class
    ├── 1DProperty
    ├── 2DProperty
    ├── 3DProperty
    ├── ...
├── Element         # 절점, 요소 관련 class
    ├── 1DElement
        ├── Truss
        ├── Beam
        ├── ...
    ├── 2DElement
        ├── MITC3
        ├── MITC4
        ├── ...
    ├── 3DElement
        ├── Hexahedral
        ├── Tetrahedral
        ├── Wedge
        ├── Pyramid
        ├── ...
    ├── ...
├── BoundaryCondition        # 경계조건 관련 class
    ├── Fix
    ├── RBE2
    ├── RBE3
    ├── ...
├── Load            # 하중 관련 class
    ├── NodalLoad
    ├── PressureLoad
    ├── BodyFroce
    ├── ...

InputParser         # input 파일 파싱 class
ResultsWriter       # 해석 결과 저장 class
MKLWrapper          # MKL Wrapper
Vector              # Vector
Matrix              # Matrix


패턴

당신과 상의 후 수치해석 솔버에 최적화된 디자인 패턴을 선택하겠습니다.

데이터 흐름

해석 입력 파일 -> 파일 파싱 후 AnalysisModel 생성 -> 해석 step 루프 진입 -> 현재 해석 step 진행 -> 해석 결과 파일에 쓰기 -> 다음 해석 step 진입 -> 반복 -> 해석 종료

상태 관리

당신과 상의 후 수치해석 솔버에 최적화된 상태 관리 방식을 선택하겠습니다.