본문 바로가기

OpenFOAM/소스코드 파해치기

[OpenFOAM 소스코드 파해치기] 단순 프로그램

일본어 원문링크


작성일 : 2012년 11월  22일
번역일 : 2016년  2월    6일


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


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

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

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

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

OpenFOAM 소스코드를 다루는 문법 기본으로 이동

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



 

  들어가기 


OpenFOAM 의 프로그래밍을 배우는 첫 순서로 최소 단순 프로그램을 작성해 본다.



  사용 버전 


OpenFOAM 1.6

 


  프로그램 


솔버의 소스(applications/solvers 하위)를 참고해서 소스디렉토리식을 작성해보자. 데릭토리를 만들고 안에 아래와 같이 준비한다.(01-mini.tar.gz)


  • Make/files
  • Make/options
  • mini.C

Make디렉토리는 컴파일에 필요한 파일을 포함한다. 컴파일에 사용하는 wmake가 필요로 하는 파일들에 해당한다.


Make/files

mini.C

EXE = mini



처음에 적혀있는것은 소스파일, "EXE =..."는 실행파일의 경로이다. 위 경우,소스디렉토리 내에 "mini"라는 프로그램이 작성됨을 나타낸다.


Make/options

EXE_INC = -I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = -lfiniteVolume



"EXE_INC = -I..."는 인클루드파일의 경로를 지정하고 있따. "EXE_LIBS=-l..."은 링크하는 라이브러리를 지정하고 있따. 이런 기술은 프로그램에서 어떤 파일을 인클루드할지 어떤 기능을 사용할지에 따라 기입해야 한다. 위에서 지정하고 있는것은 최소한의 필요조건이다.


mini.C는 이번에 작성하는 단순 프로그램의 소스이다. 단순히 무언가를 화면에 출력시키는 프로그램에 해당한다./span>


mini.C

#include "fvCFD.H"

int main(int argc, char *argv[])
{
	Info << "minimum OpenFOAM program" << endl;

	return 0;
}


인클루드 시키는 fvCFD.H는 OpenFOAM의 기본셋에 해당하는 것이다. Info는 C++의 표준출력스트림 cout과 동일하다.



 컴파일


소스디렉토리내에서(Make내부가 아니다!), wmake를 실행시킨다. 컴파일에 성공하면 mini라는 실행파일이 생성된다. 실행해 보자.

$ wmake
$ ./mini


mini를 실행시키면 "minimum OpenFOAM program"이라고 표시될 것이다.


이상 OpenFOAM에서 단순 프로그램을 작성에 성공하였다.


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