XROTORがフリーソフトになってたのでUbuntu上で動かしてみた


XFOILの生みの親であるMark Drela教授のプロペラ設計のためのプログラムであるXROTORが今年になってライセンスがGNU GPLフリーソフトになっていたので動かしてみた。
XROTORが先に開発されてしばらく商用シェアウェア、アカデミックはフリーのソフトとして存在していたが、そのあとモーター込みでの性能の計算プログラムとしてQPROPというソフトが作られてGPLで公開されていた。それに続く形でXROTORのGPLへのライセンス移行だった。
QPROPについては前の記事を参考にしてください。

XROTORでは飛行機のプロペラの設計と性能計算、風車の設計と性能計算が可能。
プロペラは修正されたLarrabee法という手法で設計される。


今あるのはソースコードだけなので自分でコンパイルして使っていく。
XFOILではソースコードからwindowsでの実行形式(.exe)が置かれるまで1年ぐらいかかったのでそれが待てる人は必要ないけど、すぐに使いたいって人への記事です。
具体的な使い方の記事とかはやる気次第で作るかも。


まず自分の環境。
メインはwindowsVISTA(笑)だけどコンパイルの簡単さとかを考えて仮想マシンLinux上で動かそうとした。

OS:Ubuntu10.10(Oracle VM VirtualBOX上)
CPU:32ビット

Win機だが全く同じだったのでここを参考にubuntu導入

コンパイル(ビルド)するのにFortranコンパイラなどが必要なので

をインストール
※------追記------
ifortのインストールは必要ではありません。gfortranでもビルド(使えるようにする)は可能なのでインストールの簡単なgfortranをオススメします。下のifortのインストールの部分を省略して、途中でMakefileの中身をいじってやります。下に書いた赤文字追記の部分の変更をしてからmake ~~のコマンドに入ります。※------追記終わり------
gfortranは端末上で

% sudo apt-get install gfortran

でインストール完了。

ifortはここを参考に。
ただし今のバージョンだと多少違って、インストール後に

% . /opt/intel/bin/ifortvars.sh -ia32

と打たないとコンパイルできなかった。ログアウトしてもifort使いたいならホームディレクトリの.profilのファイルの末尾に

. /opt/intel/bin/ifortvars.sh -ia32

を追加する


libPltのところでXlib.hがないとか言われたから、ここのように

% aptitude show xorg-dev

でインストールされてるか確認して

% sudo aptitude install xorg-dev

でパッケージのインストールをする

※------追記2011-12-12------
上記は下の方じゃないと動かないかも

% sudo apt-get install xorg-dev

※------追記終了------

以上のインストールが出来たら
ここを参考にコンパイルしていく。
これは非常に有用でありがたい記事でした。

同じことを書くようだけど少しだけ違うので改めて書くと、本家サイトからXrotor7.55.tar.tgzを落としてきて解凍する。
解凍は

% tar -xzvf Xrotor7.55.tar.tgz

などのようにする。解凍されたフォルダの./plotlibに移動して

% cp config.make.SP config.make
% make libPlt.a

これでlibPlt.aというファイルが出来る。その後./binに移って、

% make xrotor
% make jplot
% make jplote

としたらコンパイル通った。実は何度も試行錯誤してて、ここまでで半日以上かかったが、一度コンパイルしてエラーが出たら解凍されたファイルを削除し、解凍からやり直すことでエラー吐かないようになった。


※------追記------
初期設定だとifortというインテル製のFortranコンパイラを使う設定になっているが、ifortのインストールは少しめんどくさいのでgfortranというコンパイラを使うやり方。下記の変更をしてからmake ~~をするとエラーが出ないはず。
./plotlibにある「config.make」というファイルの16行目を

FC = ifort

を以下に変更

FC = gfortran

もう一点、./binにできている「Makefile」というフィイルの42行目(一行上に# Linux Inter ifort Fortranと書いてある行)を

FC = ifort

を以下に変更

FC = gfortran

※------追記終わり------


以上、ビルドが終わったら./binに新たにできるxrotor,jplot,jploteをパスの通ったところつまり、/usr/local/binなどにいれてやると

% xrotor

と打つことでどこでも起動できる。

Ubuntuでインストール直後だったので/usr/local/binにアクセスするために

%sudo passwd

でパスワード設定することによりアクセスできるようする必要もあった。


実はwinで動くexe形式のXROTORは持ってるから必要ないんだけど、勉強だと思って弄ってた。
XFOILがGPLで公開されてからのXFLR5みたいにXROTORもUIを改良したソフトを誰か作ってくれればなと妄想中。


※※※ 追記 ※※※
Ubuntuのバージョンに限定はあるけど、インストールが簡単になりました。この記事は古いのでこっちがオススメです。
http://d.hatena.ne.jp/ina111/20111221/1324439520