現在作成中 as of 2010-04-28 (水) 17:38:29

担当教員

陰山 聡

演習日

  • 2010.05.06
  • 2010.05.13

概要と達成目標

  1. 概要
    1. Why f? (なぜFortran95言語か)
    2. f && c (Fotran95とCの同じところ)
    3. [演習]Hello, world. コンパイルと実行
    4. diff f c (Fotran95とCの違うところ)
    5. Wonderful f (Fotran95の素晴らしいところ)
    6. Practical f (Fotran95によるコーディングの実際)
  2. 目標
    1. この「計算科学演習I」で扱うFotranソースコードが自由に読めること。
    2. 2次元拡散方程式を解くコードをFotran95言語の特性を活かして書けるようになること。

はじめに

  • Emacsのmajorモードをf90に設定すると便利(f95モードではなく)
    • ミニバッファでf90-modeと打つ (Esc-x f90-mode)

はじめに

まずはじめに(全部大文字の)FORTRANという言語は存在しない。 Fortran90Fortran95という言語ならある。 FORTRAN77という言語はあった*1

| f95 - f90 | << | f90 - f77 |

Why Fortran95?

  • 道具(言語)は目的にあったものを
  • 数学的計算にはFotran95が適している
  • For-mura Tran-slator

任意サイズの3次元実数配列を受け取り、平均値を返す関数

 real function mean_value(f)
   real, dimension(:,:,:) :: f
   mean_value = sum(f) / (size(f,1)*size(f,2)*size(f,3))
 end function mean_value

3次元実数配列を受け取って

空間中に分布する磁場(3成分のベクトル場)

Bx(100,100,100),  By(100,100,100),  Bz(100,100,100)

の全磁気エネルギーは、

energy = sum(Bx**2+By**2+Bz**2)/2

と一行(定義式そのもの)を書けば良い。

○○○○○○○○○○○○○○○○○○○○○○○○

注釈


*1 未だに一部が生き残っているが、30年以上前(FORTRAN77は1977年を意味する)の言語なので読んでもいいが、自分では書かないように。