Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[기타] FORTRAN 사용법 본문

기타

[기타] FORTRAN 사용법

보통의공대생 2021. 3. 20. 04:41

FORTRAN은 FORmula TRANslation를 줄여서 만들어진 단어이다. IBM에서 과학에 필요한 계산을 위해 만든 프로그래밍 언어라고 한다. 

수치해석이나 각종 계산 분석을 통한 분야에서 많이 사용하는데 그나마 최신이라는 Fortran 90마저도 1990년대에 나왔으니 상당히 오래된 언어이다. 다행히 다른 분들이 인터넷에 글을 많이 써줬지만 블로그 글 외에도, 책이나 강의 자료도 인터넷에 공유하면 좋을 것 같아서 이렇게 글을 조금씩 업로드하고자 한다.

 

일단 나의 경우에는

fortran 컴파일러로는 tdm-gcc를 사용하고 (jmeubank.github.io/tdm-gcc/)

코드 작성 프로그램(editor)으로는 Notepad++를 사용하기로 했다.

 

fortran 컴파일러도 종류가 많아서 여러 추천글을 읽고 싶었지만.. 어차피 쓰다가 불편하면 다시 검색해서 설치할 생각이었기 때문에 범용적으로 사용하는 것처럼 보이는 tdm-gcc를 선택했다.

저 프로그램을 설치할 때 주의할 점은, 아무 생각없이 설치 프로그램의 <다음>버튼을 누르다보면 정작 fortran 컴파일러를 설치하지 못한다는 점이다.

 

프로그램을 설치하다가 optional component를 선택하는 창에서 (+)를 눌러 fortran을 찾아줘야한다.

안그러면 c나 c++ 같은 언어의 컴파일러만 설치돼서 의미가 없어진다. (그래서 나는 지웠다가 다시 깔았다)

 

 

그 다음에는 코드를 작성할 editor를 고르는데, 내가 평소에 쓰던 Atom editor는 fortran을 지원해주지 않아서 써봤자 어떤 함수에도 highlight가 되지 않는다. 그래서 무료프로그램인 Notepad++를 설치했다.(notepad-plus-plus.org/downloads/)

 

위키피디아 '노트패드++'

출처 : ko.wikipedia.org/wiki/%EB%85%B8%ED%8A%B8%ED%8C%A8%EB%93%9C%2B%2B

 

노트패드++

위키백과, 우리 모두의 백과사전. 노트패드++(Notepad++)는 문서 편집기이자 소스 코드 편집기이다. 윈도에서 기본으로 제공하는 문서 편집기인 메모장에 견주어 노트패드++는 탭 편집을 제공하므

ko.wikipedia.org

위 그림이 notepad++가 지원하는 언어들인데 확실히 atom보다 많더라.

 

그 다음에는 다른 인터넷 글의 도움을 받아서

기본적인 코드를 작성한 다음에 컴파일을 해봤다.

PROGRAM FIRST
WRITE (6,*) "HELLO WORLD"
END PROGRAM FIRST

이 파일을 확장자 .f95로 저장한 다음(확장자 중요! fortran 버전마다 문법이 조금 다른 건지 .f로 했더니 오류가 났다.)

 

윈도우 기준 명령 프롬프트로 들어가서, 코드가 있는 폴더로 이동한다. (cd ~이동경로~)

그 다음에

gfortran (코드이름).f95

으로 입력하면 코드가 컴파일되어서 exe 파일이 나온다.

 

원하는 이름으로 컴파일하고 싶으면,

gfortran -o (프로그램이름).exe (코드이름).f95

 

컴파일하는 것까지만 확인했으면 이제 코드를 작성하면 된다.

코드를 작성하는 방법이나 과정에 대해서 나중에 차차 글을 쓰게 될 것 같다.

 


 

 

참고 사이트 및 문헌 :

 

blog.naver.com/PostView.nhn?blogId=skansllove&logNo=220160904491

 

포트란(Fortran) 시작(설치)

석사때는 매트랩(Matlab)으로 코드를 짜서 연구를 진행했는데 박사과정 들어오니까 본격적인 수치해석(Nu...

blog.naver.com

 

seismic.yonsei.ac.kr/fortran/index.html

 

Fortran Tutorial

 

seismic.yonsei.ac.kr

 

포트란 Numerical Recipe

s3.amazonaws.com/nrbook.com/book_C210.html

 

http://s3.amazonaws.com/nrbook.com/book_C210.html

Caution! This legacy Second Edition version was published in 1992 and last updated in 2002. It is now unsupported. There is a more recent Third Edition version in C++ that you can read for free here. This message will go away in a few seconds.

s3.amazonaws.com

 

Comments