電気電子基礎実験(G1) 2016年度版

<目次>

1. はじめに
2. 必要なソフトウェアのインストール (推奨: 事前学習)
2.1 Java言語の開発・実行キット JDK
2.2 プログラム開発環境 eclipse
2.3 データ処理・可視化のためのソフト Scilab
3. 実習プログラムをeclipseのプロジェクトとして作成
Java について
eclipseの利用実習
4. シミュレーションプログラムの実行
5. 時間変化の観察とデータ処理、そして考察、レポート
5.1 配向パターンの観察
5.2 出力データファイルの確認と、図示
Scilabを使って、パターンを別のツールで図示してみる
snapshot配向パターンを並べて表示する
Matplot.sce を使って配向を色で塗り分け
レポートに貼り付けるための工夫
5.3 (発展課題) 「渦点」数の変化を図示する

<本文>

1. はじめに

実用に近い使用方法を体験しシミュレーションの結果の意味するところを考えてみるということに実習の主眼をおきます.

プログラムの中身は解説しません.動かしてみて,結果をレポートにまとめることを課題とします.

課題の内容は,指導書を見てください.このページではそれを行うための,具体的な方法を,順を追って説明します.

前置き Wikipediaで「強誘電体」http://ja.wikipedia.org/wiki/%E5%BC%B7%E8%AA%98%E9%9B%BB%E4%BD%93

2. 必要なソフトウェアのインストール (推奨: 事前学習)

[前置き]

各自が所有するパソコンに必要なソフトウェアをインストールし、それで実習することを強く薦めます。自分のパソコンにインストールできた人は、実習時に持ってきてください。そうでない人は、情報処理教室の端末を利用します。

どのソフトも多機能でファイルサイズも大きいです。したがって、時間に余裕があるときに良いネットワーク環境でダウンロードするようにしてください。大学にパソコンを持ってきて、学内のネットワークにつないで、作業することを薦めます。

JavaはCと並んで研究、開発現場でよく用いられている言語ですし、オブジェクト指向言語の典型として、学習用にも用いられています。(EEでは、授業で用いられることは今のところありませんが。)

eclipseは、開発環境という意味でVisual Studio(プログラミングI,II,IIIで使用)と似ていますし、Scilabは、プログラミングIIIで利用する予定です。

そのような意味で、これらをインストールしておくことは、将来の学習にも意義があると思います。

2.1 Java言語の開発・実行キット JDK

Java言語のコンパイルと実行にはJava Development Kit (通称JDK)が必要です。JDKはOracleのページからダウンロードインストールできます。

Web上にたくさんの情報があります。

http://www.javadrive.jp/install/jdk/index1.html

などを参考に、JDKの最新版をインストールしましょう。なお、下のpleiadesのフルバージョンをインストールすれば、それだけでもOKです。(むしろ、これを推奨すべきかも。)

2.2 プログラム開発環境 eclipse

プログラム作成・コンパイル・実行・デバグを統合的に行うためのソフトは「開発環境」と呼ばれます。Javaの開発環境としては、eclipseが有名です。(eclipseは、プラグインを追加することにより、様々な言語での開発に使えます。)

ここでは、日本語化eclipseパッケージとして有名なpleiadesを使いましょう。

http://mergedoc.sourceforge.jp/index.html#/pleiades.html

から、最新版のJava Full Editionをインストールしましょう。(Full Editionには、javaのコンパイル、実行環境も入っています。)

2.3 データ処理・可視化のためのソフト Scilab

Matlabに似た数値処理研究環境 Scilab を利用してみます。Scilabのページ

http://www.scilab.org/

よりインストールしましょう。

3. 実習プログラムをeclipseのプロジェクトとして作成

情報処理教室の端末には上記のソフトはすべてWindows上にインストールされていますので,それを使います.

Java について

プログラムを作成するのに便利な様々なツールを備え,デバッグ,実行もできるGUIを「開発環境」と呼び,その代表格がeclipseです.

eclipseの利用実習

この節では,開発環境eclipseを立ち上げて準備(新規の「プロジェクト」作成)を行い,本研究室で作成したプログラムソースをプロジェクトに追加する作業を説明します.

1. eclipseを立ち上げ、eeIntroPracをプロジェクトに登録します。

  1. 「ファイル」→「新規作成」→「Javaプロジェクト」を選択します。(下の図のような「Javaプロジェクト」がメニューにない場合は,「その他」から選択してください.)

  2. プロジェクト名を入力してください(下の図ではeeIntroPrac).

  3. 実習で使うファイルは、これ(eeIntroPrac.zip) です。ダウンロードしてください。
  4. ダウンロードしたzipファイルに含まれている6つのファイルを上でつくった新規プロジェクトのsrcの下のsrcフォルダにコピーしてください.(eclipseへドラッグするのではなく,「エクスプローラー」にてコピー&貼り付けを行なってください.上の図ではプロジェクト名がeeIntroPrac, 下の図では基礎電気電子工学実験G1という名前になっていますが、各自のプロジェクト名(フォルダ名)に合わせてください。)

  5. 新規にファイルをおいたことをeclipseに認識させるために,「ファイル」→「リフレッシュ」を実行してください.(「F5」キーでも実行できます.) なお、項目3,4はこのページのように「インポート」という機能を使うのが標準的ですので、場合によってはそれをやってみても良いです。

  6. 成功すると次のように左にプロジェクト内のファイルが見えるようになります.

    ソースファイル名をダブルクリックするとソースが編集画面に現れます.

4. シミュレーションプログラムの実行

シミュレーションプログラムは3つのファイルから成り立っています。

  1. clockModelGr.java: メインのプログラム(スタート・ストップボタンや係数の変更スライダーなどを組み立て、それぞれのボタンを押したときの動作を決めている。)
  2. clockModel.java: 数値計算の本体(グラフィカルな部分や、ユーザからの制御以外の部分。パターンの時間発展を数値計算する。)
  3. drawPattern2Clock.java: 分極の分布パターンを描画する。

clockModelGr.javaを読み込んで、メニューの「実行」→「実行」を選択すると、実行されます。起動すると、次のような画面になります。ボタンを押したり、係数(条件)を変えたりして時間変化を眺めてみてください。

5. 時間変化の観察とデータ処理、そして考察、レポート

5.1 配向パターンの観察

「開始」ボタンを押すと、四角のウィンドウに分極配向パターンの時間変化が現れます。

パターンの描画と共に、eclipseの下の方のフレームに、時間(ステップ数)と渦中心の数が出力されます。

5.2 出力データファイルの確認と、図示

条件によりパターンの変化がどのように違うかをレポート(高度な仕事ししては学術論文)にまとめるには、文章に図を貼り付けたり、数値データ(今の場合は渦点の数の時間変化)をグラフにする必要があります。その体験をしてみましょう。

開始する前に、「パターンの定期保存」にチェックを入れておくと、分極のパターンが500ステップごとにファイルに書き出されます。

下の図は、1つだけ書きだしたところです。フォルダの中には

Explorerで開いたところ eclipseで開いたところ(プロジェクトフレームで右クリック「リフレッシュ」する必要があります。)

フォルダの中には、時間ごとの分極ベクトルが数値としてカンマで区切られて格納されています。最初にx成分、次にy成分が記録されています。今の場合、システムが80X80の大きさなので、80列160行の大きさのデータです。カンマで区切られたデータ(CSV形式)の場合、WindowsではExcelで開くよう指定されていますので、ダブルクリックするとその内容を見ることができます。

Scilabを使って、パターンを別のツールで図示してみる

シミュレーションのリアルタイム描画では、格子上の分極は線で描かれていますが、本当はベクトル(頭と尻尾の区別がある)です。矢印を描画するのが面倒なので、線だけで表示しています。論文に載せる場合には、きちんと矢印で表したいわけです。

そのような描画に使えるツールは沢山ありますが、ここでは、将来も使える可能性があるフリーソフトScilabを使ってみます。

シミュレーション用のJavaプログラムの中に".sce"という拡張子をもったファイルが置かれています。(Scilabがインストールされていれば、アイコンがScilabのものになっているはず.)

snapshot配向パターンを並べて表示する

snapshots.sceというファイルがあります.これをダブルクリックするとScilabが立ち上がり,Scilab用のプログラム編集ツールSciNoteにsnaphots.sceが読み込まれます.

このプログラムの中頃に,次のような,データがあるディレクトリと,表示したいデータのディレクトリ名,そして,時間ステップを書き込む行があります.ここを各自の設定に変更し,メニューの「実行」→「保存して実行」(あるはF5キー)を押して実行します.

// カレントディレクトリ
chdir('c:\Users\toyoki\workplace\eeIntroPrac') // このファイルがあるディレクトリ名

// データ処理
basename0 = "op80P0.0N0.0F0.08T0.050"  // データフォルダの名前
basename = ".\"+ basename0 + "\"+ basename0 +"-"
tstr = ["1000", "2000", "3000", "6000"]  // 表示したい時間を4つ
filename = basename + tstr + ".csv"

この部分では,読み込むファイル名を組み立てますので,tstrという変数へは実在するファイルの時刻部分を入れる必要があります.ファイルが存在しないとScilabのコンソールに「xxx.csvが存在しません」というようなメッセージがでます.

うまく読み込まれると次のような図になります.配向ベクトルが描かれていますが,小さいと方向がよくわかりませんね.scilabのメニューにある「虫眼鏡」で一部を拡大して見ることができますので,それで見てみるとたしかに矢印が描かれていることがわかります.

しかし,論文などに変化の様子を図示するには,適当とは言えません.そこで,方向を色で表示することを考えてみます.

Matplot.sce を使って配向を色で塗り分け

同じディレクトリに,Matplot.secというファイルがあります.これをScilabで開いて実行してみましょう.

上と同様に,各自のディレクトリとファイル名にあうように書き換えて実行します.

うまく行くと次のような図が現れます.これは,配向の方向[ーπ,π]を虹色に対応させて塗ったものです.図を縮小しても,全体の配向パターンがわかるので,便利ですね.

レポートに貼り付けるための工夫

Scilab図をいろいろな形式のファイルに書きだす機能があります.「エクスポート」,「ベクトルでエクスポート」からファイル形式を選べます.後で拡大縮小するには後者のほうが便利ですが,ここでは簡便のために「エクスポート」→「PNG」を用いましょう. ファイル名には拡張子「.png」をつけます.(大文字でも小文字でいいです.)

保存したファイルは,Wordなどに図として貼り付けることができます.

5.3 (発展課題) 「渦点」数の変化を図示する

スナップショットデータが格納されているディレクトリには,"defectNumT.csv"という名前で,時刻(ステップ数)とともに渦点の数がどのように減っていくかを記録したファイルがあります.これを,横軸=時刻,縦軸=渦点数として両対数グラフにしてみましょう. 道具は何でも良いですが,参考のために上述のプログラムとおなじディレクトリにplotDefectNums.sceを用意してあるので使ってみてください.