본문 바로가기

OpenFOAM/소스코드 파해치기

[OpenFOAM 소스코드 파해치기] blockMesh

일본어 원문링크


작성일 : 2009년 12월   5일
번역일 : 2016년  2월    9일


크롬 브라우저로 보시는 것을 권장해 드립니다.


 ------ OpenFOAM 소스코드 파해치기 시리즈 ------

OpenFOAM 소스코드 파해치기 목차로 이동

 ------------------------------------------------------------

 ----- OpenFOAM 소스코드를 다루는 문법 기본 -----

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 소스코드 파해치기 목차로 이동