[[
fortran
]]
Applied Mechanics Lab. WIKI
トレース:
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Fortranのtips ====== ===== コンパイラオプション ===== * プログラム作成段階においては,配列外参照,暗黙の型宣言,浮動小数点演算例外の検出はつけてコンパイルした方が良い. * プログラムが完成して,エラーがない場合には以下のコンパイルオプションはない方が良い.ない方が早く計算できる. ^ compiler ^ gfortran ^ ifort ^ frt ^ |エラーの検出FIXME|-Wall|-check all|-Eg?| |配列外参照|-fbounds-check|-CB| | |暗黙の型宣言|-fimplicit-none|-warn declarations| | |浮動小数点演算例外の検出|-ffpe-trap=zero|-fpe0| | |標準外機能の警告|-std=f95|-std| | ===== 連番のファイル名をつける。 ===== ファイル名をcharacter変数に代入して使う。ファイル名の変更にはwrite文を使う。 逐次計算に使える。 <code fortran> character(len=12) filename ... do i=1,100 ... write(filename,'(a,i4.4,a)') 'hoge',i,'.dat' open(10,file=filename) ... write(10,*) ... ... close(10) end do </code> このファイルをperlに食わせて処理すると便利かも. 以下,サンプル. <code perl> #!/usr/bin/perl $gpfile .= sprintf("%s\n","set terminal gif"); $gpfile .= sprintf("%s\n","set pm3d map"); for($i=1;$i < 30;$i++){ $file = sprintf("hoge%04d",$i*10); $gpfile .= sprintf("%s\n","set output \"$file.gif\""); $gpfile .= sprintf("%s\n","splot \"$file.dat\" using 1:2:5"); }; open (GP, "| gnuplot" ) or die "no gnuplot"; print GP "$gpfile"; close GP; system("gifsicle --delay 50 hoge*gif > anime.gif"); </code> gifsicle はgifアニメを作成するツール.アニメを見るにはgifview. <code bash> gifview -a anim.gif </code> ===== ifortで改行を抑制する ===== ifortでは出力時に勝手に改行する仕様になっている。改行を抑制するためには、Format文を使用すればよい。 <code fortran> integer n real(8),allocatable::a(:) n=9 allocate(a(9)) do i=1,n a(i)=i end do write(*,'(<n>f)') a end program </code>
fortran.1246529817.txt.gz
· 最終更新: 2009/07/02 19:16 by
10.249.202.217
文書の表示
以前のリビジョン
[unknown link type]
文書の先頭へ