제 3회 OpenFOAM 개발자 교육 공지
2018.01.
1. 교육 기간 및 장소
- 2018년 1월 29일 ~ 2월 9일 (10일)
- 9:00~18:00 (8시간/일)
- 동아대학교 승학캠퍼스 (조선해양플랜트공학과 전산교육실)
2. 교육 대상
: 기업체 연구원 및 석/박사 과정 대학원생
3. 교육 주관 및 수강 신청
- 교육 주관 : 네오플럭스
- 강사 : 동아대학교 이상봉 교수
- 수강 신청 : 김지윤 (jiyoon2970@dau.ac.kr), T. 051-200-6936
* 수강 신청 시 소속, 이름, 연락처, 결제 방법 명시 요망
4. 교육비 결제 및 준비물
- 250만원/인 (부가세 포함, 교재 제공)
- 계좌이체 시 세금계산서 발행 (발행 업체 : 네오플럭스)
- 카드 결제 (교육 1일차)
* 교육비 결제 문의 : 이경진 부장 (kjlee@nextfoam.co.kr), T. 070-8796-3025
- 교육 준비물
: Ubuntu 리눅스 OS가 설치된 개인 노트북 사전 준비를 추천하나,
노트북이 준비되지 않을 경우에도 리눅스 클러스터에서 실습 가능함
* 실습 관련 문의 : 이상봉 (sblee1977@dau.ac.kr), T. 051-200-7772
5. 교육 목표
기존의 간단한 CFD 코드에서 시작하여 단계별로 OpenFOAM에서 사용하는 클래스를 이용한 객체지향형 코드로 변경함으로써 OpenFOAM code의 구조를 이해하고, line-by-line code reading뿐만 아니라 초기/경계 조건 변경 및 코드 개발 등을 스스로 수행할 수 있는 기초 역량 습득
6. 교육 내용
1일차 C++ 기본 강의 및 기존 CFD 코드 이해/실습
Step 1. Subject-oriented coding
2-4일차 코드 비교/변환을 통한 OpenFOAM class 구조 이해
목표 : C++의 객체지향적 특성을 CFD 관점에서 이해하고 class를 활용 실습함
Step 2. Object-oriented variables (List class)
Step 3. Object-oriented matrix (fvMatrix class at a low level)
Step 4. Object-oriented variables (GeometricField class)
Step 5. Object-oriented variables with I/O object (IOobject class)
Step 6. Object-oriented matrix (fvm namespace)
Step 7. Object-oriented matrix (mathematical operation overloading)
Step 8. Object-oriented matrix based on BC (separation of matrices)
Step 9. Object-oriented variables with boundary (Boundary class inside GeometricField class)
Step 10. Improvement of Boundary class (PtrList class instead of List class)
Step 11. Object-oriented boundary (fixedValue, zeroGradient fvPatchField class)
Step 12. Improvement of each B/C class
5일차 OpenFOAM Code reading Part I (gdb 활용)
목표 : OpenFOAM에서 사용하는 격자 구조를 이해함
fvMesh와 polyMesh의 관계
constant/polyMesh에 존재하는 points, owner, neighbour, faces, boundary 파일의 의미
OpenFOAM에서 사용되는 patch의 관계성
6-7일차 OpenFOAM Code reading Part II (gdb 활용)
목표 : OpenFOAM에서 사용하는 변수 구조를 이해함
IOobject와 register의 의미
GeometriField와 Boundary의 구성
patch와 patchField의 관계성
UList/List/Field/dimensionedField/GeometricField의 상속 관계
8-9일차 OpenFOAM Code reading Part III (gdb 활용)
목표 : OpenFOAM의 fvMatrix class를 유한체적법과 연결하여 이해함
CFD 해석을 위한 거대 sparse matrix의 특성과 행렬 solver의 종류
압력과 속도 분리의 필요성에 따른 fvMatrix와 lduMatrix의 구성 원리
차분 기법 및 경계 조건에 따른 matrix system의 변화
- fvm class와 fvc class의 활용
- unsteady/convection/diffusion term의 matrix 구조 분석 및 평가
10일차 기본 경계 조건의 이해와 분석
목표 : OpenFOAM에서 제공하는 경계 조건의 원리를 이해하고 새로운 경계 조건을 생성함
fixedValue, zeroGradient, symmetry 등
user-defined boundary condition