らくらく DCL 辻野 智紀 神戸大学 理学部 地球惑星科学科 B4.

Slides:



Advertisements
Similar presentations
シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹.
Advertisements

1 実技演習1 2008/01/28,29 JaLTER Morpho 講習会. 2 起動・接続 各自、コンピュータを起動してネットワーク に接続してください。 各自、コンピュータを起動してネットワーク に接続してください。 IP アドレス自動取得 IP アドレス自動取得 無線 LAN 使用可 無線.
Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
図示、可視化モジュール ~ pylab と numpy を ちょっと~. pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準.
多次元データ 解析・可視化ソフトウェア GAVE A Grid Data Analyzer and Viewer, GAVE 竹本 和彰 北海道大学理学部地球科学科 地球流体力学研究室 4年 2004 年 2 月 3 日.
神戸大・理 2009 年度 地球および惑星大気科学実習 (2009/07/17) 資料をもとに作成.
情報処理 第 11 回. 今日の内容 練習用ファイルのダウンロード作成できる主なグラフ棒グラフの操作 – 棒グラフの作成 – グラフの位置とサイズの調整 – グラフタイトルの表示 – 軸ラベルの表示 – 横軸の文字の配置 – データラベルの表示.
ITPASS Informational Training program with a spirit of self-help オプション課題の概要 高橋芳幸.
PowerPoint スライドの HTML 化支援ツール dcppt version 1 Yasuhiro Morikawa Copyright © 2005 GFD Dennou Club. All rights reserved. GFD Dennou Club.
1 第5回 配列. 2 今回の目標 マクロ定義の効果を理解する。 1次元配列を理解する。 2次元配列を理解する。 ☆2 × 2の行列の行列式を求めるプログラ ムを作成する.
RitsPen 2.0 起動方法 CentOS を 例にして. CentOS を起動した状態 RitsPen がインストールしておく.デスクトップに ritspen というフォルダがあるはず.
数学のかたち 数学解析の様々なツール GRAPSE編 Masashi Sanae.
初年次セミナー 第13回 2次元グラフィックス(1).
Cornell Spectrum Imagerの使い方
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
神戸大学大学院 宇宙物理学研究室 青田 拓大 M2 田方 友梨 M2
初年次セミナー 第8回 データの入力.
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
PowerPoint活用マニュアル スライドショーにせず、そのまま見てね。.
CGアニメーションの原理 基本技術 対象物体の動きや変形の設定方法 レンダリング技術
Fortran と有限差分法の 入門の入門の…
・力のモーメント ・角運動量 ・力のモーメントと角運動量の関係
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
コンピュータープログラミング(C言語)(3) 1.関数と分割コンパイル (復習) 2.キーボード入力
数値モデルの出力データをどのように取り扱っているか?
F5 キーを押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
・y=sinθのグラフとy=2sinθのグラフ ・y=sinθのグラフとy=sin2θのグラフ ・周期と値域
無機結晶構造データベース について紹介します. まずは検索画面から. このPowerpointは, 全画面表示をすると, アニメーションが
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
北海道大学大学院理学研究科地球惑星科学専攻 地球流体力学研究室 M1 山田 由貴子
流体のラグランジアンカオスとカオス混合 1.ラグランジアンカオス 定常流や時間周期流のような層流の下での流体の微小部分のカオス的運動
平成22年度に実施を予定するインターネットを 用いた研修システムによる研修 ライブ配信受講手順書
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
情報処理基礎 2006年 6月 22日.
SPMODEL - ISPACK と gt4f90io による数値モデル開発 -
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
スペクトル法の一部の基礎の初歩への はじめの一歩
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
初期設定マニュアル コナミスポーツクラブ情報ダイヤル 【お問い合わせ先】 0120-919-573 受付時間
GIMP をこよなく愛する会 北海道大学大学院理学院宇宙理学専攻支部長 徳永義哉
基本システムのボード線図 ボード線図による基本システムの同定
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
デジタル画像とC言語.
実数列を生成する際の注意 数学関数の利用 Excel によるリサージュ図形描画 Excel による対数グラフ描画
プログラミング 3 2 次元配列.
表計算 Excel 演習 1.Excel を使ってみる.
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
「ICAによる顔画像特徴量抽出とSVMを用いた表情認識」
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
ガイダンス 電子計算機 電気工学科 山本昌志 1E
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
精密工学科プログラミング基礎 第7回資料 (11/27実施)
卒論中間発表 2001/12/21 赤道の波動力学の基礎 北海道大学理学部 地球科学科 4年 山田 由貴子.
実数列を生成する際の注意 数学関数の利用 Excel によるリサージュ図形描画 Excel による対数グラフ描画
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
高橋芳幸1, 地球流体電脳倶楽部 dcmodel プロジェクト 1.神戸大学大学院理学研究科
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
情報処理Ⅱ 2005年11月25日(金).
プログラミング入門2 第5回 配列 変数宣言、初期化について
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

らくらく DCL 辻野 智紀 神戸大学 理学部 地球惑星科学科 B4

目次 DCL とは? インストール 基本的な描画の手順 カンタン折れ線ルーチン 少し凝りたい方へ さらに凝りたい方へ カンタン等高線・ベクトルルーチン こんなことも

DCL とは?

DCL とは? 地球流体電脳倶楽部 (http://www.gfd-dennou.org/) で開発された Fortran ライブラリ(Fortran 77). Fortran ソースファイルをコンパイル・実行する だけで, 計算結果をグラフに出力可能. 結果をデータファイルに出力せず, すぐにグラフ として表示させることが可能. DCL は Fortran 以外に, C, Ruby などで利用可能.

DCL とは? Fortran のソースファイルに DCL 専用のサブル ーチンを呼び出す記述をする. 専用サブルーチン群の構成 サブルーチン群はそれぞれの特徴から, 以下のよ うなパッケージに分けられている. GRPH1, 2 おもに, グラフの出力に関するサブルーチン MATH1, 2 おもに, 数値処理を行う上で有用なサブルーチン MISC1 その他の文字処理などを行うサブルーチン

インストール ソースからコンパイル: を手元にダウンロード・展開後, INSTALL ファイ ルを参考にインストール. http://www.gfd-dennou.org/arch/dcl/dcl-5.3.3.tar.gz を手元にダウンロード・展開後, INSTALL ファイ ルを参考にインストール. Debian パッケージからインストール: # apt-get install dcl-f77 パッケージからインストールの場合, dennou の ftp サーバを apt のソースリストに加える.

事前準備 今回は, こちらで用意した Fortran ソースファイ ルをコンパイルして実行していただき, どのよう な図が描けるのかを実際に体験していただきます. 以下の URL からファイルをダウンロードして下 さい. http://epa.scitec.kobe-u.ac.jp/~satoki/ tmp/exercise.tar.gz

事前準備 ダウンロードしたファイルを以下のコマンドで 展開. $ tar zxvf exercise.tar.gz 展開したディレクトリの中で, 以下のコマンドを 実行. $ make 以上で, 今回用意したソースファイルの実行ファ イルを作成.

基本的な描画の手順

作成したソースファイルをコンパイル・実行 基本的な描画の手順 Fortran ソースファイルの作成 CALL GROPN ( 出力装置番号 ) 図を描画するための出力装置を起動する宣言. ”出力装置番号” = 1〜4 の数字で指定. 1 = X Window, 2 = PostScript, 3 = Tek 端末, 4 = GTK CALL GRCLS 出力装置を終了させるための宣言. 作成したソースファイルをコンパイル・実行 コンパイル:$ dclfrt <ソースファイル名> 実行   :$ ./<実行ファイル名>

先ほど展開したディレクトリ内の ”open” という実行ファイルを以下のコマンドで実行. 基本的な描画の手順 先ほど展開したディレクトリ内の ”open” という実行ファイルを以下のコマンドで実行. $ ./open 真っ白な Window が表示されましたか? X Window で描画装置を開く 描画装置を閉じる

DCL によるグラフの描画は, ”GROPN” と ”GRCLS” の間で様々な サブルーチンを呼び出すことのみ. 基本的な描画の手順 DCL によるグラフの描画は, ”GROPN” と ”GRCLS” の間で様々な サブルーチンを呼び出すことのみ.

カンタン折れ線ルーチン

exercise の中の ”cos” というファイルを実行. カンタン折れ線ルーチン exercise の中の ”cos” というファイルを実行.

サブルーチン解説 CALL GROPN( 1 ) X による出力 CALL GRFRM グラフの初期化 変数の型宣言 CALL GROPN( 1 ) X による出力 CALL GRFRM グラフの初期化 CALL USGRPH(配列個数,  横軸要素, 縦軸要素) 配列の最大・最小値から描画領域を設定. 描画するグラフの目盛と実際の配列の値を一致. 座標軸を設定し描画. CALL GRCLS 出力を終了. 描画領域, 空間刻み幅の設定 X 座標の値とそれに対応する Y 座標の値(cos(X))を代入. グラフ関連

もう少し凝りたい方へ 先ほどのグラフはたった 4 行の サブルーチンの記述だけで描くことが できました. しかし, もう少し手を加えたいなとは 思いませんでしたか? たとえば...

もう少し凝りたい方へ グラフの軸のタイトル 各軸の単位 線種の変更 描画領域の設定...etc. 展開したディレクトリの中の ”Foucault” というファイルを実行してみて下さい.

もう少し凝りたい方へ 描画してみると・・・ フーコー振り子の水平面の軌跡

サブルーチン解説 出力番号の入力 カンタン折れ線ルーチン USGRPH 線種の設定 UUSLNI = 線の太さ UUSLNT = 線の種類 描画領域の設定 GRSWND = 座標軸の両端 GRSVPT = Window への描 画位置 座標のタイトル・単位 折れ線を描画

もう少し凝りたい方へ 図と照らし合わせると... UUSLNI UUSLNT USSPNT UULIN GRSWND GRSVPT USDAXS USSTTL

さらに凝りたい方へ 折れ線を複数出力させる 複数の折れ線それぞれにラベルをつける どの折れ線が何を表すかを区別させる...etc 展開したディレクトリの中の ”besj” というファイルを実行してみて下さい.

さらに凝りたい方へ N=0, 1, 2, 3, 4 次のベッセル関数

いかがでしょうか? カンタンに折れ線を描くには たった 4 行のサブルーチン宣言. そこから凝り出すと, いくらでもカスタマイズが可能.

カンタン等高線ルーチン

いままでは, 単なる折れ線のグラフを 描いてきました. ここからは, 2 次元場の等高線とベクトルの グラフを作成してみましょう.

カンタン等高線ルーチン 実行ファイル ”contour” は, 2 次元非圧縮・渦なしで, 角度π/3 の 角を回る流れを表す流線関数のグラフです. 実行してみましょう.

実行ファイル ”contour” を実行すると... カンタン等高線ルーチン 実行ファイル ”contour” を実行すると... 2 次元非圧縮・渦なしの定常運動では, 流体は を満たすような流れを形成. グラフは, この方程式を満たす解 を等高線で描画したもの. 流線関数

サブルーチン解説 UDCNTR(2次元配列,X軸配列個数,X軸配列個数,Y軸配列個数)

カンタンベクトルルーチン

実行ファイル ”vector” は, 2 次元非圧縮・渦なしで, 角度π/3 の 角を回る流速ベクトルのグラフです. 実行してみましょう. カンタンベクトルルーチン 実行ファイル ”vector” は, 2 次元非圧縮・渦なしで, 角度π/3 の 角を回る流速ベクトルのグラフです. 実行してみましょう.

実行ファイル ”vector” を実行すると... カンタンベクトルルーチン 実行ファイル ”vector” を実行すると... 先の流線関数から求まるX, Y方向の流速 u, vを描画したもの.

サブルーチン解説 UGVECT(2次元配列(X方向ベクトル成分),X軸配列個数, 2次元配列(Y方向ベクトル成分), X軸配列個数, X軸配列個 数, Y軸配列個数)

等高線&ベクトル 重ね描き

等高線&ベクトル 流体力学でよく見られるグラフに, 2 次元等高線と 2 次元ベクトルの 重ね合わせたグラフがあります. このような重ね描きのグラフも簡単に 表示させることができます.

実行ファイル ”cntr_vctr” を実行すると...

サブルーチン解説 等高線とベクトルの重ね描きは, 等高線を描く ”UDCNTR” と ベクトルを描く ”UGVECT” を並べて宣言すれば簡単に描ける.

重ね描きのポイント 等高線データの格子点とベクトルデータの格子点 の数は違っていてもよい. これは, 等高線データ用配列とベクトルデータ用 配列の要素数を異なるものにすることで可能.

等高線の格子点とベクトルの格子点が同じだと...

格子点の数が多いと... これはこれで綺麗ですが...

格子点の数が少ないと... これはみすぼらしいですね...

ですので, 等高線とベクトル場を 重ねて表示させるなら, それぞれの格子点の数は変えておいた方が 見栄えがいいと思います.

その他テクニック

その他テクニック 描画領域の分割 1 つの出力で複数のグラフ アニメーション 画像の保存

以降は, 時間の都合上, 結果のみ示します. こんなこともできますよ. ぐらいの感じでご覧下さい. その他テクニック 以降は, 時間の都合上, 結果のみ示します. こんなこともできますよ. ぐらいの感じでご覧下さい.

”Lorentz” という実行ファイルを実行すると... 描画領域の分割 ”Lorentz” という実行ファイルを実行すると... ローレンツ方程式の有名な軌跡が描けます.

つまり, X-Y, Y-Z, Z-X の 3 枚のグラフが描ける. ローレンツ方程式は, という 3 変数の時間発展問題. つまり, X-Y, Y-Z, Z-X の 3 枚のグラフが描ける.

そこで, これらの 3 枚のグラフを1枚の グラフにしてみましょう. ”3_Lorentz” を実行してみて下さい.

描画領域の分割 このように, X-Y, X-Z, Y-Z 断面のグラフが同じページに描けます.

アニメーションの作成

先ほどのグラフを複数表示させる という技術を応用すると, カンタンにアニメーションが作れます. アニメーションの作成 先ほどのグラフを複数表示させる という技術を応用すると, カンタンにアニメーションが作れます.

諸般の事情で, ソースファイルを同梱 できませんでした. アニメーションの作成 諸般の事情で, ソースファイルを同梱 できませんでした.

以下の1次元線形波動方程式をスペクトル法で計算. アニメーションの作成(1) 以下の1次元線形波動方程式をスペクトル法で計算. 境界条件は周期境界. 初期条件は領域中央にピークをもつガウス関数. 解析解は, 初期条件を f(x) として,

解析解のように, 左右にピークが半分となって伝播. アニメーション(1) 動かしてみると... 解析解のように, 左右にピークが半分となって伝播.

以下の2次元線形移流方程式をスペクトル法で計算. アニメーションの作成(2) 以下の2次元線形移流方程式をスペクトル法で計算. 境界条件は周期境界. 初期条件は領域中央にピークをもつガウス関数. 解析解は, 初期条件を f(x,y) として,

アニメーション(2) 動かしてみると... 解析解のように移流速度で移流する.

グラフの保存 出力されたグラフは, ”q”を押せば,消えます. 出力されたグラフを保存するには, グラフが出力 されている状態で, ”d”を押して下さい. Post script で出力した場合は, Window には表示 されず, ps ファイルとして保存されています.

以上で, DCL について, 本当に簡単な 事柄を紹介致しました. 何かご質問等あれば, 挙手して下さい.

まとめ DCL は地球流体電脳倶楽部で開発された Fortran77 の描画ライブラリ.

参考文献 http://www.gfd-dennou.org/arch/dcl/dcl- f77doc/rc1/index_menu.html 地球流体電脳倶楽部 DCL チュートリアル

宣伝 https://itpass.scitec.kobe-u.ac.jp/~fourtran/index.html

概要 ITPASS の一環として, 有志によって行われてい る Fortranについての勉強会(不定期). 内容 数値解法・数値計算について 参加するには 誰でも参加いただけますが, ITPASS サーバのア カウント保持者には特典がつきます(後述). ”fourtran@itpass.scitec.kobe-u.ac.jp” まで

実際 https://itpass.scitec.kobe-u.ac.jp/~fourtran/hiki 実際に, 勉強会の詳細については, メインページから辿れる Hiki ページに記述してあります.

実際 Hiki ページでは, 過去の勉強会の発表・配布資料のアーカイブ 過去の勉強会の実習内容の履歴 参加者が作成したプログラムソースファイル・ 実行結果・データのアーカイブ Hiki ページは閲覧に制限をかけていませんので, 全世界からこれらの資料を閲覧可能. ITPASS サーバアカウント保持者は Hiki ページ の編集・ソースファイルのアップロード権限が特 典として付与.

内容等に関しましては, 先ほどの Hiki ページで ちなみに... 3/17 (水) 10:30 – 13:30 @508 にて, 第 7 回勉強会開催予定!! 内容等に関しましては, 先ほどの Hiki ページで ご確認下さい.

お付き合いいただき, 誠にありがとうございました.