I 프로그래밍 개요
1 프로그래밍 언어 특징
2 기본 요소
2.1 프로그램 기본 골격
2.2 자료형
2.3 제어구문
2.5 입출력
2.6 연습문제
3 자료구조
3.1 선형 자료구조
3.2 컨테이너 구현 방식
3.3 연습문제
4 C++ 일반
4.1 상수
4.2 global/static/friend 개념
4.3 클래스 일반
4.4 Generic Programming
4.5 템플릿 메타프로그래밍
4.6 기타 주제
4.7 C++ 표준 변화 내용
4.8 연습문제
5 빌드 시스템
5.1 컴파일러
5.2 Make
5.3 연습문제
II 확장 가능한 프로그래밍 기법
6 수치해석 코드 개발 및 확장
6.1 문제의 정의
6.2 코드 구현
7 알고리즘의 모듈화 기법
7.1 함수 호출의 추상화
7.2 OOP를 이용한 알고리즘 모듈화 기법
7.3 연습문제
8 자원 관리 자료구조
8.1 자원 저장소 관리 기능 구현
8.2 연습문제
III OpenFOAM 프레임워크의 구성요소
9 지연객체 생성도구
9.1 Selector 함수
9.2 Boilerplate
9.3 연습문제
10 자원 저장소
10.1 IOobject
10.2 regIOobject
10.3 objectRegistry
10.4 Time
10.5 연습문제
11 입출력
11.1 IOstream
11.2 Pstream
11.3 messageStream
11.4 연습문제
12 입력 데이터 처리
12.1 명령행 인자 처리
12.2 dictionary
12.3 Function1
12.4 연습문제
13 functionObject
13.1 구조
13.2 편의 도구
13.3 사용 예
13.4 연습문제
14 추상화 도구
14.1 벡터 및 텐서 연산자 정의
14.2 배열객체 순회 매크로
14.3 스마트 포인터
14.4 Domain Specific Language
14.5 연습문제
15 Design Pattern
15.1 Template Method Pattern
15.2 Strategy Pattern
15.3 Decorator Pattern
15.4 연습문제
IV FVM 수치해석 자료구조
16 격자 자료형
16.1 격자 개요
16.2 격자 자료구조
16.3 연습문제
17 필드자료형
17.1 List
17.2 Field
17.3 경계조건 종류
17.4 연습문제
18 행렬 자료형
18.1 행렬 자료구조
18.2 행렬 solver의 성능과 bandwidth
18.3 fvOption
18.4 연습문제
19 수치해법
19.1 fvSchemes
19.2 ddtScheme
19.3 convectionScheme, divScheme
19.4 gradScheme
19.5 laplacianScheme
19.6 surfaceInterpolationScheme
19.7 연습문제
20 난류 모델
20.1 유동 모델
20.2 난류 모델
20.3 난류 모델의 생성
20.4 연습문제
21 ODE
21.1 개념
21.2 ODESystem 클래스
21.3 연습문제
V Appendix
22 Migration 가이드
22.1 1.x vs 2.x
22.2 2.x vs. 4
22.3 4 vs. 5
22.4 5.x vs. 6
22.5 6 vs. 7
22.6 7 vs. 8
23 지배방정식
23.1 보존 법칙
23.2 동적 격자
23.3 비압축성 유체 Solver
23.4 Twophase flow
24 Mixed language programming
24.1 원리
24.2 Name mangling 규칙
24.3 헤더파일 작성 방법