공지사항

자료게시판

[OpenFOAM] system 폴더 내 파일 설명

작성자 관리자 날짜 2024-01-11 14:31:15 조회수 131

System 폴더 내 파일 설명

  system 폴더는 해석시간 및 결과저장, function Objects, 지배방정식의 이산화방법, 이산화된 방정식의 행렬 계산 방법을 설정하는 파일들이 모여 있습니다.

1. controlDict 파일

해석시간 및 결과 저장, function Object 설정하는 파일

  OpenFOAM 튜토리얼에 incompressible/icoFoam/cavity/system/controlDict 의 파일을 예로 설명하겠습니다.

(1) application

  application은 해석 솔버를 정의할 때 사용됩니다.

  튜토리얼에 Allrun 파일 내 applicaiton부분에서 icoFoam을 읽어서 실행합니다.

(2) startFoam

  startFoam은 해석을 어느 시점에 시작할지 설정해 주는 옵션입니다.

  startFoam 옵션은 startTime, latestTime 두가지 옵션이 있습니다.

  startTime은 아래 줄 startTime을 읽어 지정해 준 폴더의 시간부터 해석이 진행됩니다.

  가장 많이 사용하는 latestTime은 최근에 해석된 폴더의 값을 읽고 해석이 진행됩니다.

(3) stopAt

  stopAt은 해석 끝나는 시간을 설정할 때 사용됩니다.

  주로 쓰이는 것은 총 2가지로 endTime, writeNow 입니다.

  endTime은 아래 줄 endTime에 설정된 해석 시간까지 해석 진행하고

  writeNow는 해석 중 iteration 한번 진행하고 해석 저장됩니다.

  이 옵션은 해석 중에 발산했을 경우 격자의 오류나 해석의 오류를 찾을 때 많이 사용합니다.

(4) deltaT

  deltaT는 정상상태 해석을 할 때는 iteration 수, 비정상상태해석을 할 때는 time step 의미

(5) writeControl

  writeControl은 해석 결과 출력 방식 설정

  총 timeStep, runTime, adjustableRunTime, cpuTime, clockTime 5가지가 있는데 adjustableRunTime을 가장 많이 사용합니다.

  adjustableRunTime은 아랫줄에 있는 writeInterval에 쓰인 해석 시간에 저장돼요.

(6) pergeWrite

  pergeWrite는 마지막 해석 저장시간에서 시작하여 지정된 숫자에 따라 결과를 저장하는 옵션

  예로 pergeWrite 0면 모든 writeInterval에 저장하고 5이면 마지막 저장시간에서 5개 앞까지 저장되고 5개 이상의 해석시간 결과는 삭제됩니다.

  해석결과 용량 관리 방법으로 정상상태 해석할 때는 중간 단계가 중요하지 않기 때문에 이 방법으로 용량을 관리합니다.

(7) writeFormat

  writeFormat은 해석 파일이 쓰이는 타입

  binary, ascii 타입 2가지가 있는데 binary는 저장된 파일 내용을 확인할 수 없으나 파일 용량이 작고 ascii는 저장된 파일 내용을 확인할 수 있으나 파일 용량이 binary 타입보다 큽니다.

2. fvSchemes 파일

  지배장정식의 각 항에 따른 이산화 방법을 설정하는 파일

  (1) Time schemes

  시간에 따른 이산화방법을 설정해 주는 곳으로 ddtSchemes에 설정

  

  시간에 따른 이산화 방식은 Euler, crankNicholson, backward, steadyState 총 4가지의 시간 차분방법이 있습니다.

    1) Euler : 전진 차분 방식으로 1st order 방식으로 차분​

    2) crankNicholson ψ : ψ 에 따라 1st order 또는 2nd order 방식으로 차분

                              0일 때 2nd order, 1일 때 1st order 로 사용

    3) backward, : 후진 차분 방식으로 2nd order 방식으로 차분

    4) steadyState : 정상상태를 해석할 때 쓰이며 시간에 대한 항을 해석하지 않음

  (2) Convection shemes

  공간에 대한 convection 항의 이산화방법을 설정해 주는 곳으로 divSchemes에 설정

  Centerd schmeme, upwind convection scheme, TVD scheme 크게 3가지 종류가 있습니다.

    1) Centerd schmeme

     - linear : 중앙차분법을 사용하는 2nd order 방식으로 차분

     - cubicVorrection : 중앙차분법을 사용하는 3rd order 방식으로 차분

     - midPoint : symmetric weighting 중앙차분을 사용하는 2nd order 방식으로 차분

    2) upwind convection scheme

     - upwind : 전진차분법을 사용하는 1st order 방식으로 차분

     - linearUpwind : 전진차분법을 사용하는 2nd order 방식으로 차분

    3) TVD scheme

     - limitedLinear : 2nd order 방식으로 차분

  가장 안정적인 방식은 upwind 방식이고 tutorial에서 사용되는 방식은 limitedLinear 방식을 많이 사용합니다.

  (3) Laplacian shemes

  공간에 대한 이산화방법을 설정해 주는 곳으로 laplacianShemes에 설정

  (4) gradient schemes

  오른쪽 항 이산화방법을 설정해 주는 곳으로 gradShemes에 설정

3. fvSolution 파일

  격자에 따른 이산화된 방정식을 계산할 matrix를 설정하는 파일

    속도, 온도, k , epsilon등 각 변수를 위 matrix solver로 해석됩니다.

    - relTol : iteration 마다 residual이 tolerance까지 떨어지도록 설정합니다. 0인 경우 tolerance까지 해석되며 0.1인 경우 1e-05까지 iteration이 해석됩니다.

  controlDict, fvSchemes, fvSolution은 OpenFOAM을 해석하는데 꼭 필요한 파일이니 기억해 두시면 좋겠습니다. 감사합니다.

 

댓글 (0)

등록된 댓글이 없습니다.