작성일 : 2009년 12월 5일
번역일 : 2016년 2월 9일
크롬 브라우저로 보시는 것을 권장해 드립니다.
------------------------------------------------------------
----- OpenFOAM 소스코드를 다루는 문법 기본 -----
------------------------------------------------------------
들어가기 |
격자 작성 프로그램 blockMesh를 사용해본다.
사용 버전 |
OpenFOAM 1.6
파일 |
이번에는 격자를 blockMesh 유틸리티를 이용해 작성한다. 프로그램자체는 이전의 격자를 불러들이는 것과 같다(05-blockMesh.tar.gz).
- Make/files
- Make/options
- system/controlDict
- system/fvSchemes
- system/fvSolution
- constant/polyMesh/blockMeshDict
- mesh.C
격자 생성 |
격자파일을 하나하나 수작업으로 작성하는것은 매우 어렵다. OpenFOAM에는 간단한 격자를 작성하기위한 blockMesh라는 유틸리티프로그램이 준비되어 있다. blockMesh를 사용하려면, blockMeshDict 파일(constant/polyMesh/blockMelshDict)를 준비한다.
blockMeshDict
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
convertToMeters 1;
vertices
(
(0 0 0)
(1 0 0)
(1 1 0)
(0 1 0)
(0 0 0.1)
(1 0 0.1)
(1 1 0.1)
(0 1 0.1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (10 10 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
wall left
(
(0 4 7 3)
)
wall right
(
(2 6 5 1)
)
wall top
(
(3 7 6 2)
)
wall bottom
(
(1 5 4 0)
)
empty frontAndBack
(
(0 3 2 1)
(4 5 6 7)
)
);
mergePatchPairs
(
);
"FoamFIle {...}"는 형식의 약속이다.
converToMeters는 단위변환스케일에 해당한다.
vertices이하는 절점정의에 해당한다.
blocks 이하는 블럭정보이다. "hex..."는, hex를 만드는 절점의 번호, 격자의 블럭수 등 이다.
patches이하는 경계정보이다. 경계의 타입과 이름, 경계를 정의하는 절점의 번호 등이 적혀있다.
케이스 폴더 내에서 blockMesh를 실행하면, blockMeshDict에 따라 격자파일이 작성된다.
실행 |
컴파일하여 실행해 본다.
$ wmake
$ blockMesh
$ ./mesh
추가정보 |
이전과 같이, 절점을 이동시켜보자(05-blockMesh2.tar.gz). paraFoam에서 결과를 확인해보자.
'OpenFOAM > 소스코드 파해치기' 카테고리의 다른 글
[OpenFOAM 소스코드 파해치기] 스칼라필드 (0) | 2016.02.10 |
---|---|
[OpenFOAM 소스코드 파해치기] 이동격자 (2) | 2016.02.09 |
[OpenFOAM 소스코드 파해치기] 격자 (0) | 2016.02.09 |
[OpenFOAM 소스코드 파해치기] 시간 (3) | 2016.02.06 |
[OpenFOAM 소스코드 파해치기] 인수 리스트 (0) | 2016.02.06 |