人気ブログランキング | 話題のタグを見る

Meepのインストール (3) HDF5のインストール

HDF5のインストールではずいぶん苦労しました。
CygwinにHDF5をインストールする手順については、こちらに解説があります。これだけでは不十分なので、ここで補足しておきます。

(1) g95 Fortranコンパイラのインストール
本当に必要なのかよく分かりませんが、とりあえず私はインストールしておきました。
g95はフリーのFortran95コンパイラで、こちらから入手出来ます
g95についてはCygwin用に実行ファイルが供給されています。インストーラの組み込まれたものとtar.gz形式の圧縮ファイルがあります。いずれの場合も指示に従ってインストールして下さい。

(2) Zlibのインストール
こちらのページからHDF5 Ver. 1.8.0Beta2, Zlib, Szipが入手出来ます。まとめてダウンロードしておきましょう。

Zibはこれまでにインストールした他のライブラリと同様に、圧縮ファイルの展開→フォルダ移動→./configure →make →make install の手順でインストール出来ます。

(3) Szipのインストール
Szipをインストールする際、インストールディレクトリとして/usr/local が明示的に指定されていなければ他のディレクトリにインストールされ、Meepのインストールの際にHDF5がリンクされません。そのため、./configureにオプションを追加します。

>./configure --prefix=/usr/bin
>make
>make install

(4) HDF5のインストール
HDF5 Ver. 1.6.5が安定バージョンという事になっていますが、Cygwinには対応していません。上に示したリンクから、新しいバージョンをダウンロードしてください。
HDF5も、./configureにオプションが必要です。
>./configure --enable-cxx --enable-fortran --prefix=/usr/local
>make

HDF5は正常にコンパイル出来たかチェック出来ます。

>make check

確認後、インストールします。

>make install

人気blogランキングへ

続く
# by tosakam | 2007-07-20 18:22 | 解析

Meepのインストール (2) ライブラリのインストール

Meep Installationのページに書いてある様に、Meepは様々なライブラリを使います。ほとんどは「推奨」と書かれてありそれらなしでも動作しますが、実際に使う際の事を考えるとほとんど必要です。

シングルプロセッサ環境の場合、必要なライブラリは次に挙げるものです。
BLAS
LAPACK
Harminv
Guile
libctl
HDF5

このうち、Guileは、Cygwinに組み込まれてインストールされているはずです。HDF5はそれ自体、他のライブラリを必要としますので別途説明します。

GNUのソフトに関しては一般的なコンパイル→インストールの手順がありますので、次に示します。

(1) 圧縮ファイルをダウンロード
基本的には、ソースファイルがディレクトリ構造ごとまとめられた圧縮ファイルとして提供されています。ファイル名の最後が .gz あるいは .tgz となっているものです。

保存先として、
[Cygwinをインストールしたフォルダ]\home\[ユーザー名]
のフォルダを選ぶと便利です。例えば私の場合C:\cygwinにインストールしたので
c:\cygwin\home\tosaka
です。
Cygwinを起動すると、自動的にこのフォルダで作業が開始されます。

(2) 圧縮ファイルの展開
ここから先は、Cygwinを起動してUnixのコンソール内での作業となります。
先ず、ダウンロードしたファイルの圧縮解除です。

>ls

で、作業対象の圧縮ファイルがある事を確認して下さい。例えば、libctl-3.0.2.tar.gzの場合、

>gunzip libctl-3.0.2.tar.gz

と入力して下さい。これで圧縮が解除されます。再び

>ls

で確認すると、ファイル名がlibctl-3.0.2.tarに変わっているはずです。次にこれをインストールするためフォルダに展開します。

>tar xf libctl-3.0.2.tar

と入力して下さい。

>ls

で確認すると、今度はlibctl-3.0.2.tarがそのまま残り、それに加えてlibctl-3.0.2というフォルダが出来ているはずです。

(3) ソースファイルのコンパイルとインストール
上の操作で出来たフォルダ内に、ソースファイルがあります。先ず、そのフォルダ内に移動します。

>cd libctl-3.0.2

次に、

>./configure

と入力します。コンパイル環境を自動的にチェックし、その結果をメッセージとして表示します。これが終了してから、

>make

と入力します。先に調べた環境に従って、自動的にソースファイルがコンパイルされ実行ファイルが作られます。最後に

>make install

と入力すると、実行ファイルが適切なフォルダにコピーされインストールの終了です。

最初に述べた幾つかのライブラリの内、HDF5とBLAS以外はこの手順で単純にインストール出来るはずです。

libctlのコンパイルでエラーが出た場合、Guileのバージョンを確認して下さい。

>guile --version

前回述べた様に、バージョン1.8.1-6ではエラーになるようです。
バージョン1.6.7-4でもエラーになる場合は、guile-develのソースファイルがインストールされていないと考えられます。
いずれの場合も一旦Cygwinを終了し、setup.exeを起動してCygwinのインストールを修正する必要があります。その際、他の設定が維持される様にパッケージ選択画面の上にあるチェックボックスをkeepに切り替えておきましょう。


BLAS → LAPACK → Harminvのインストール
これらのライブラリは、この順にインストールする必要があります。

先ずBLASですが、これは ./configureが必要ありません。

>make

により、blas_LINUX.aという名前のライブラリファイルが出来ます。
このファイルの名前をlibblas.aと変更し、ライブラリのディレクトリにコピーします。

>cp blas_LINUX.a /usr/local/lib/libblas.a

Windowのエクスプローラを使って操作する事も出来ます。

次にLAPACKですが、やはり./configureがありません。
tarファイルを展開するとLAPACKのディレクトリが出来ますが、この中にも先ほど作成したblas_LINUX.aをコピーします。
LAPACKディレクトリ内にINSTALLというディレクトリがありますが、そこにあるmake.inc.LINUXというファイルを、make.incという名前でLAPACK内にコピーします。
これだけの準備をして、LAPACKディレクトリ内で

>make

を実行します。

BLASの場合と同様に、lapack_LINUX.aというファイルが出来ますから、これを/usr/local/libへliblapack.aという名前でコピーします。

>cp lapack_LINUX.a /usr/local/lib/librlapack.a

Harminvは、上に書いたlibctlと同じ要領でインストール出来ます。

人気blogランキングへ

続く
# by tosakam | 2007-07-20 17:31 | 解析

Meepのインストール (1) Cygwin環境構築

アンテナや光導波路の挙動をシミュレーションするための電磁場計算として、FDTD(finite-difference time-domain)という手法があります。

市販のソフトを買うと十万円以上はするらしいのですが、Unix上で動作するMeepというソフトは無償で配布されています。

Cygwin環境でこのソフトを動作させる事に成功したので、覚え書きを兼ねてここに書いておく事にします。色々と細かい設定などがあり、動作するところまでこぎ着けるのにかなり苦労しました。

(1) Cygwinのインストール

まず、こちらのページからCygwinのインストーラ (setup.exe) をダウンロードします。この中にCygwin本体は含まれていません。

Internet Explorerを使った場合setup.exeを保存せずそのまま実行する事も出来ますが、たぶん繰り返し事項する事になるのでご自分のPCに保存しておいた方がよいでしょう。

インストールの詳細については、他のページに詳しく載ってますので(例えばこちら)ここでは省略します。

注意点
・ "Select Root Install Directory"の画面で、右下にある"Default Text File Type"はUnixを選択する。Dosを選ぶと、後でコンパイルする際エラーが起きます。
・ ダウンロードサイトはレスポンスの早いところを選択しましょう。.jpで終わる国内のサーバを選ぶのが無難です。
・ インストールするパッケージとして、Devel, Editors, Libs, Math, Mingwは必ず選択します。(その他も含めて全部のパッケージを選択してもかまいませんが、ダウンロードの時間とディスク容量が必要になります。)
・ Guileというソフトが含まれますが、最新の1.8.1-6では後でlibctlをインストールする際に失敗しました。右上にある[View]と書かれたボタンを押してその右の表示をFullに切り替えます。(このボタンを押すごとに表示が切り替わり、何回目かで元に戻ります。)Package列がアルファベット順に並んでますから、guileで始まるものを探し(3つあります)New列の回転矢印記号を何回か押して、これらのバージョンを1.6.7-4に切り替えます。guile-develについてはSrc?列にもチェックを入れソースファイルもインストールします。
・ 同じ要領で、Shellsパッケージ中のtcshとrxvtもインストールしておくと便利です。(以後、インストールされているとして説明を続けます。)


(2) 環境設定

こうしてインストールした状態でCygwinを起動すると、コンソールウインドウが現れます。(終了するには、このウインドウ内で"exit"とコマンドを入力するか、ウインドウ自体を閉じる。)このウインドウはマウスのスクロールボタンや、マウス操作による文字列の選択が無効なので、若干不便です。
そこで、メモ帳などを使って次の様な内容のバッチファイルを作り、C:\cygwin\cygwin-tcsh.batという名前で保存します。

@echo off
C:\cygwin\bin\rxvt.exe -fg white -bg black -fn msgothic-12 -fm msgothic-12 -e tcsh -l


"C:\cygwin"の部分は、Cygwinをインストールしたドライブやフォルダに応じて変えて下さい。
このバッチファイルのショートカットを作製し、使いやすいところ(デスクトップなど)に移動させます。

ここから先、Cygwinを起動してUnix環境での作業になります。
先ほど作製したショートカットから、Cygwinを起動します。

環境変数を設定するため、テキストエディタを起動して設定ファイル".tcshrc"を作製します。ここでは、nanoというエディタを使います。
Cygwinコンソール内で次の様に入力して下さい。

>nano .tcshrc

すると、コンソール内がテキストエディタ画面に切り替わります。
そこに、次の様に入力して下さい。

setenv LD_LIBRARY_PATH "/usr/local/lib"
setenv LDFLAGS "-L/usr/local/lib"
setenv CPPFLAGS "-I/usr/local/include"
setenv F9X "/usr/local/bin/g95"


正しく入力出来たら、キーボードのCtrlキーを押しながらOを押します。(画面下部に書かれている ^O WriteOut の操作です。その後でCtrlとX (^X)を押すとnanoが終了します。
Unixのコンソールに戻るので、

> ls -a

と入力してみて下さい。表示されたファイル一覧の中に".tcshrc"がある事を確認して下さい。
ここで一旦Cygwinを終了します。
再びショートカットからCygwinを起動し、コンソール内で次のコマンドを入力して下さい。

>setenv

環境変数が沢山表示されますが、その中に先ほど入力した内容が含まれている事を確認して下さい。
以上で、環境設定は終了です。何故この様な設定が必要か、詳細はMeep Installationのページに書かれています。
また、Unixの基本的なコマンドについては他のページ(例えばここ)を参考にして下さい。

(3) コンパイラのコピー
これはMeepのコンパイル時に発生するエラーを回避するための手続きです。なお、2007年7月に次のバージョンのソフト使用環境であった事にご留意下さい。

Cygwin.dll-1.5.24-2
hdf5-1.8.0-beta2
szip-2.0
libctl-3.0.2
zlib-1.2.1
harminv-1.3.1
meep-0.10

先ず、Windowsのエクスプローラなどで、
c:\cygwin\usr\lib\gcc\i686-pc-cygwin\3.4.4
というフォルダが存在するか調べて下さい。たぶん、gcc 以下のフォルダは無いと思います。
代わりに
c:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4
があるはずです。(例によって、c:\cygwinの部分はCygwinをインストールしたフォルダに変えて下さい。)

この場合、エクスプローラなど用いて
c:\cygwin\lib\gcc
をフォルダごと
c:\cygwin\usr
へコピーして下さい。
次に、Cygwinを起動し、ディレクトリを移動します。

>cd /usr/lib/gcc/i686-pc-cygwin/3.4.4

そこに"libg2c.la"というファイルがあるはずです。このファイルを編集します。

>nano libg2c.la

最終行に

libdir='/usr/lib/gcc/i686-pc-cygwin'

とありますが、これを

libdir='/usr/lib/gcc/i686-pc-cygwin/3.4.4'

に修正します。
nanoを用いたのであれば^Oで内容を書き出し、終了します。
最後に、今修正した"libg2c.la"を上のディレクトリにもコピーします。

>cp libg2c.la ../

CygwinかMeepの相性の問題で、上記の処理をしないとコンパイルの途中でエラーになります。

人気blogランキングへ

続く
# by tosakam | 2007-07-20 16:32 | 解析

英語の言い回しを改善

英語の論文を書いていて、どの様な言い回しにしたらいいか迷う事があります。
そんなとき、ヒントになるページを見つけました。
University of Birminghamのホームページにある、English for International Students Unit: Kibbitzer pageです。Kibbitzer(kibitzer)とは「トランプの見物人」とか「横からチャチャを入れる人」という意味ですが、このページでは論文の添削などでネイティブスピーカーの教官が気づいた事などをまとめています。

例えば、"on the other hand", "on the contrary", "by contrast"の使い分けについて解説しています。

それによれば、科学雑誌では"by contrast"がよく使われるようです。

"on the contrary"は否定文と共に使われるそうです。「悪くない。むしろよかった。」の「むしろ」が、日本語のニュアンスとして近そうです。

"on the other hand"は二つの事柄を対比すると言う意味で"by contrast"と同様にも使えますが、対比的でない使い方もできます。

"by contrast"はそれに対し、対比的なニュアンスを強調しています。科学雑誌では既知の事実との対比を重要視するので、"by contrast"がよく使われるのだそうです。

人気blogランキングへ
# by tosakam | 2007-02-21 18:16 | 論文作成

MS-Wordで文字に上線を付ける

数式などが関係した論文を書いていると、文中の文字の上側に線やチルダを付けたくなる事が良くあります。しかし、MS-Wordでパッと見つかる文字修飾に下線はあっても、上線は見つかりません。

他のワープロ(一太郎など)は上線を入れる機能がありますが、どこのオンライン投稿でも受け付けてくれるというわけには行きません。

ということで、探してみたらあっさりと見つかりました。

こちらのページで上線を入れる方法を紹介してます。

これを応用すると、上線だけでなくチルダなど、色々な記号を文字の上に付けられますね。

紹介したページのトップページからは、他にも色々と便利な使い方を見つける事が出来ます。


人気blogランキングへ
# by tosakam | 2007-02-13 20:04 | 論文作成