数値流体力学
松下洋介、齋藤泰洋、青木秀之、三浦隆利
数値流体力学 [第2版]、第1版、森北出版株式会社、東京 (2011)
Fortran 90/95プログラミング
冨田博之、齋藤泰洋、Fortran90/95プログラミング、培風館、東京 (2011)
全般的な補足は、冨田博之先生のホームページ(Fortran90/95プログラミング)をご覧ください。
本稿においても、本書と同じようにプログラムを記述する際に大文字と小文字を区別して使っていますが、Fortran言語の場合、大文字も小文字も区別されないので、全て小文字で記述して構いません。
混在コンパイル
FortranプログラムがC++プログラムを呼び出す。(2016/01/16作成)
- Fortran言語で記述されたプログラムと他の言語(例えばC++)で記述されたプログラムを混在させてコンパイルして実行する。
- main.f90
- c_prog.cpp
- 実行
- 実行結果
PROGRAM main CALL prog_c() END PROGRAM main
#include#include int sub_c(){ float pi = 3.141593; float s, r = 2.0; s = pi * pow( r, 2.0 ); printf("Area = %.2f\n", s); } extern "C" void prog_c_(){ sub_c(); }
(一度g++でコンパイルして,オブジェクトファイルを生成する。) % g++ c_prog.cpp -c (数学関数を呼び出すためのライブラリを呼び出し,gfortranでコンパイルする。) % gfortran main.f90 c_prog.o -lm % ./a.out
Area = 12.57
C++プログラムがFortranプログラムを呼び出す。(2016/03/15作成)
- C++で記述されたプログラムでFortran言語で記述されたプログラムを呼び出してコンパイルして実行する。
(コンパイルして、オブジェクトファイルを生成し、Fortranのプログラムを呼び出す。) % % g++ c_prog.cpp -c % gfortran f_prog.cpp -c % g++ f_prog.o f_prog.o -lgfortran
外部ソフトウェアの操作
Fortranプログラムでソフトウェアを呼び出す。(2025/01/11更新)
- Gnuplotをバッチファイルで実行する。
- main.f90
PROGRAM main CALL SYSTEM('/bin/gnuplot gplt_x.plt') END PROGRAM main
set terminal svg enhanced size 600,420 fixed fname "Arial,16" background rgb "white" set output "graph_x.svg" p x set output
% gfortran main.f90 % ./a.out
% eog graph_x.svg