Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[프로젝트] DATCOM Input 파일 예시와 output 파일 예시 본문

기타/설계 프로젝트 System Design

[프로젝트] DATCOM Input 파일 예시와 output 파일 예시

보통의공대생 2022. 3. 15. 21:55

이전에 DATCOM에 관한 글을 써놓고 예시를 안 적은 것 같아서

내가 만든 코드의 예시를 보여주고자 한다. (도움이 되실지는 모르겠지만..)

 

그리고 그 .INP 파일로 DATCOM을 돌렸을 때 나오는 결과(.out 파일)도 보여주도록 한다. 다만 .out 파일은 엄청 길기 때문에 핵심적인 부분만 올린다.

 

1. INP 파일 예시

 

아래 코드는 .INP 파일의 예시이다.

DAMP
DERIV RAD
DIM M
CASEID Project-BODY
 $FLTCON NMACH = 1.0, MACH(1)=0.03, NALPHA = 20.0,
         ALSCHD(1) = -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0,
                     6.0, 7.0, 8.0, 9.0, 10.0, 12.0, 14.0, 16.0,
                     18.0, 19.0, 20.0, 25.0,
        WT = 10.682, NALT=1.0, ALT(1)=0.0,
        RNNUB=2.00E5, LOOP=1.0$
 $OPTINS SREF=0.100, CBARR=0.180, BLREF=0.445$
 $SYNTHS XCG=0.245874, ZCG=-0.012666, XW=0.200, ZW=0.0, ALIW=0.0,
         ZH=-0.020, XH=0.700, ALIH=-0.050, ZV=-0.020, XV=0.700$
 $BODY NX=7.0,
      X(1)=0.0,0.050,0.150,0.290,0.480,0.815,0.820,
      S(1)=0.0,0.000452,0.002827,0.001689,0.001256,0.000314,0.000023,0.00001$
 $WGPLNF CHRDTP=0.180, CHRDR=0.180, DHDADI=0.0, TYPE=1.0,
         SSPN=0.505, SSPNE=0.445, SAVSI=0.0, CHSTAT=0.25$
 $ASYFLP STYPE=4.0, NDELTA=9.0,
         DELTAL(1)=0.0,1.0,3.0,5.0,8.0,10.0,15.0,20.0,25.0,
         DELTAR(1)=0.0,-1.0,-3.0,-5.0,-8.0,-10.0,-15.0,-20.0,-25.0,
         CHRDFI=0.04, CHRDFO=0.04, SPANFI=0.185, SPANFO=0.505$
 $SYMFLP FTYPE=1.0, NTYPE=1.0, NDELTA=9.0,
         DELTA(1)=-20.0,-10.0,-5.0,-1.0,0.0,1.0,5.0,10.0,20.0,
         CHRDFI=0.020, CHRDFO=0.020, SPANFI=0.0001, SPANFO=0.090$
 $HTPLNF CHRDTP= 4.0, CHRDR=12.0, DHDADI=0.0, TYPE=1.0,
         SSPN=0.090, SSPNE=0.089, SAVSI=0.416, CHSTAT = 0.0$
 $VTPLNF CHRDTP= 3.5, CHRDR=12.0, DHDADI=0.0, TYPE=1.0,
         SSPN=0.120, SSPNE=0.119, SAVSI=0.353, CHSTAT = 0.0$
NACA-W-4-2412
NACA-H-4-0006
NACA-V-4-0006
NEXT CASE

 

개별 코드의 의미는 이전 글을 참고하면 좋을 것이다.

 

 

2. DATCOM을 FORTRAN으로 컴파일하기

 

 

위와 같이 .INP 파일을 만들어서 datcom을 돌리는데, 이 때는 FORTRAN에서 프로그램을 컴파일하는 방법을 알아야한다.

Digital datcom을 다운받으면 datcom.f 을 가지게 되는데 이 파일을 컴파일해서 .exe 파일로 만들어야 한다.

 

c코딩을 해보신 분들은 알겠지만 프로그램을 코딩하고 실행할 수 있게 만든게 exe파일이다.

 

포트란에서 컴파일하는 방법도 포스팅해놓았으니 참고하시고, 사실 datcom 파일에도 read me.txt에 나와있다.

 

To compile this program for your machine, use the command
gfortran datcom.f -o datcom.exe

이 말을 참고해서 컴파일하고, DATCOM.exe를 실행해보면 다음과 같이 나온다.

 

위 그림과 같이 input file name을 입력하라고 나온다. 내가 만든 .INP 파일 이름을 입력해주면 된다.

 

 

3. OUT 파일 확인하기

그러면 .out으로 나오는데 이 파일을 열어보시면 설정에 따라서 꽤 긴 파일이 나올 수도 있다.

참고로 .INP 파일은 어떻게 작성하고 .out 파일을 어떻게 열어야하는지 곤란할 수 있다. (딱히 열어주는 프로그램도 없다.)

나의 경우에는 atom이라는 코드 편집기에서 그냥 열었다. 어차피 txt파일과 별반 차이가 없어서 보기 편한 편집기에서 연 것 뿐이다. 다른 편집기를 쓰고 있으면 거기서 열어도 무방하다.

 

컴파일한 결과는 다음과 같다.

 

이런 표가 많이 나오는데 내가 코드를 잘못 작성한 경우에는 .out 코드를 잘 읽어보면 에러가 떴다고 알려줄 것이다.

제대로 된 결과가 안 보인다면 어떤 에러가 있는지도 살펴보자. (정확히 어떤 에러가 있는지 알려주는지는 기억이 안 난다.)

 

MATLAB에서는 이런 DATCOM의 output 파일을 읽어들이는 함수도 있는데 내가 썼을 때는 신통치 않았던 걸로 기억한다. 혹시 잘 작동한 걸 확인해보신 분이 있으면 알려주셨으면 좋겠다.

 

사실 이렇게 DATCOM을 돌리고 알게 된 것은, 이 비행기 결과에는 러더를 포함시킬 수 없다는 사실이었다.

DATCOM의 낡은 문서를 뒤적거려도 러더에 대한 내용은 찾을 수 없던 걸로 기억한다. 이 부분에 유념하며 사용하면 좋을 것이다.

 

Comments