2.3 KiB
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 진입 -> 반복 -> 해석 종료
상태 관리
당신과 상의 후 수치해석 솔버에 최적화된 상태 관리 방식을 선택하겠습니다.