OpenPropに影響されて、Inapropの専用ページ作りました。英語で説明ページが無いと存在が認識されないですし。
CSSはBootstrap使って、サクサクと。
時間のある社会人だったらInaprop改善したいところだらけだけど、他にやりたいことありすぎて、しばらく手を付けられそうにないです。。。。(汗
JAXAの原田さんの損失最小のプロペラ設計手法を実装してオープンソースにしているプロペラ設計ソフトは数少ないので、もうちょっと広まるといいのですが・・・
OpenPropに影響されて、Inapropの専用ページ作りました。英語で説明ページが無いと存在が認識されないですし。
CSSはBootstrap使って、サクサクと。
時間のある社会人だったらInaprop改善したいところだらけだけど、他にやりたいことありすぎて、しばらく手を付けられそうにないです。。。。(汗
JAXAの原田さんの損失最小のプロペラ設計手法を実装してオープンソースにしているプロペラ設計ソフトは数少ないので、もうちょっと広まるといいのですが・・・
OpenPropという水中でのプロペラ、タービンの設計・解析のフリーソフトの存在を知ったのでメモ書き。
MITで研究されている水中のプロペラの設計・解析ソフトがフリーソフトになっています。自分は既に空気中の低レイノルズ数領域のプロペラ設計・解析のソフトを作っていたので、興味が出て、ひと通り動かしたり、資料を読んでみました。
ina111’s blog カテゴリーアーカイブ: プロペラ
Matlabで書かれていて、OctaveなどのMatlabとソース互換のソフトでは動きません。必ずMatlab本体が必要です。アメリカの大学ではMatlabは頻繁に使われているみたいですね。
揚力線理論(Lifting Line Theory)が用いられています。CAITATIONに詳細な理論が書いてあるので、わかりやすいですね。
3DのCAD情報の出力もあるので水中プロペラ作りたい人は3Dプリンタで出力すれば簡単に作れます。すごい時代だ。
設計最適化
パフォーマンス解析
プロペラ形状生成
Inapropというソフトを作りました.
β版という扱いですが,ある程度使えると思うので公開します.
β版ということでまだまだ自分でも確認しているバグもあります.エラーが起こったら報告していただければ幸いです.
のView Rawからダウンロードしてもらうのが最新版です.
追記2014/08/11
英語での紹介ページを作りました。右上から日本語にも飛べます。
Inapropは低レイノルズ数領域,具体的には人力飛行機や飛行船などの領域で使うプロペラを設計できるソフトです.低レイノルズ数という言い方は不適当で低円盤荷重という方が適当かもしれません.
exeファイルで公開していますので,インストールの必要はありません.
Windows専用です.Windows Vista,7での動作は確認していますが,他の環境は確認していません.
まだ機能を充実させていないので,正確な値は出力しません.人力飛行機でのおおよその値を見るのには使えます.特に低レイノルズ数領域でのDAE51という翼型の揚力係数以外の翼型の性能を反映させていない部分が致命的です.また,プロペラのような回転体において2次元翼型の性能と実際のプロペラの翼型性能はある程度の誤差があることが報告されていることも留意が必要です.
翼型データが固まっていないのでピッチ角(グラフでphi)の値は信用しないで下さい.ここは優先的に修正したいと思っています.
応援されれば機能追加する予定ですw
ちゃんとした機能のものが必要な場合,XROTORというソフトをオススメしています.
Microsoftの.Net Framework 4が必要になります.
渦法(vortex method)においてはプロペラの渦法の論文も出されている原田さんから教わったことを元にしています.一般にはオープンになっていませんが,原田さんにコンタクトを取れば頂けるMatlabプログラムであるHiyokoPropをC#に書き直しているものです.このMatlabプログラムが非常にわかりやすく,勉強になるものになっています.
Larrabee method, Adkins & Liebeck methodについては該当論文を参考にプログラムに書き下しています.
渦法では計算時間がかかるのは損失最小のプロペラを計算するのに大域最適化問題を解くためにシミュレーテッドアニーリング法を使用しているからです.計算時間を考えて分割点が少ない上に収束条件が甘く設定しているのでガタガタになりますが,何度かやるとたまにいい結果が出ます.
Larrabee methodの方では誘導損失最小となるプロペラ条件を仮定していることから収束計算が無く,一瞬で計算が終わります.
ファーストリリース現在,解析の部分と翼型の性能を計算結果に反映させる機能をGUIと結びつけていません.テストが十分でないためです.今年の秋頃に時間があれば作り直します.
深く考えているわけではありませんが,MITライセンスに従います.
無償,無保証,利用/改造/再配布OK,著作権表示義務あり,二次利用においてソース公開義務なし,二次利用においてライセンス変更OK
最新版のソースはここに置いています.理論面ではここのRefarenceの論文集を参考になるかと思います.私の文章より紹介している論文を読むのが理解の近道です.
XROTOR周りの話は参考になると思います.
ソフトの立ち位置と利用場面をよく理解して,素敵に紹介してもらっています.
ちょっと前まで、オープンソースというか誰かが作ったプロペラ設計プログラムや解析プログラムが中身分かる形でネット上に置いてあるということがなく、不便をしていました。そんな中、これまでAdkins & Liebeckの方法やLarrabeeの方法のプロペラ設計法のプログラムを作って公開してきました。
それがXROTORがGPLライセンスになったことでオープンソースということでは便利な形で存在するようにました。これも日本語での説明どころか、英語ですら解説がないものだったので解説記事を書いたりインストール方法を書いたりしていました。
そうこうしている中、「低レイノルズ数プロペラの設計法」という論文を書かれている原田さんに直接色々と話しを伺うことが出来て、しかも、Matlabで作った論文の重要な部分を抜き出した簡易版のプログラムも頂けました。
渦法は低レイノルズ数領域のプロペラ設計では有用な設計方法ではありますが、(どんな点で有用かは論文や後述の課題見ればわかるはず、あとで説明書くかも)
という点でLarrabeeやAdkins & Liebeckなどの方法が鳥人間でまだまだ使われています。
1.の点に関して、原田さんがMatlabの課題形式で渦法の設計方法のまとめの文章を書いてくださっています。鳥人間の関係者はちゃんとコンタクトを取ってみると課題が受け取れるかと思います。もしくは貰っている人がいるチームの人は担当者から引き継ぐなどできるかと思います。
課題を見ながらなら(しっかり時間をかければ)誰でも渦法の設計は出来るようになるかと思います。難しい論文の内容が自分の手元で組上がってくるのはこれ以上無く、楽しいものです。
2.の点に関して、もし誰でも使えるソフトというものがあれば、設計法の有用性から考えても渦法が広まるかと思っていました。(初期設定がLarrabeeの手法になっている)XROTORや私作成のプログラムの「渦法」版のソフトがあればいいなって話しです。
マニア向けに言うとXFOILの時代からXFLR5が出てきたことによる翼型解析の普及のようなことが起こればいいなと思うわけです。
C#ってラーメンタイマーみたいな練習以外で使うのは初めてでしたが、3日かけて(そのうち1日分の作業はブルースクリーンで闇に消えた)C#で作ってみました。パラメータを入れてCalculationボタンを押すと渦法で設計してくれるっていうものです。Matlabでの同じアルゴリズムの計算の3倍以上速く計算完了します。自分の環境だと10秒程度でした。forループが入れ子になって収束計算しているのでMatlabより早くなります。
今は単に原田さん謹製のMatlabプログラムからC#への移植しただけです。
もし反響があれば、以下のようなアップデートを行いつつ、公開していこうかと思います。
ちょっと前になりますが、「流体機械工学」という本に出ていた設計法でのプログラムをExcelで作りました。
この設計法はいわゆるAdkins &Liebeckの設計手法であり、式の導出に問題があるようです。ほとんど誤差が出ないにしても気持ちが良いものではないです。式が複雑になる上に後発の論文なのでAdkins Liebeckの手法の方が格が上に見えますが、今回作ったLarrabeeの手法の方が精度が高いようです。
そこで、今回はこのAdkins &Liebeckの手法ではなく、Larrabeeの手法の設計プログラムを作ってみました。ただし、上と異なって、任意の飛行条件での性能計算は実装していません。
Larrabeeの手法の中身をブラックボックス化しないために数式が読みやすいMatlab(系)で作っているのであって、簡単に設計するのであれば信頼性のあるXROTORを使うのがオススメです。
プログラムソースを置く場所としてGithubというのがどうやら流行っているということでGithub上にリポジトリを作りました。
https://github.com/ina111/Larrabee
ダウンロードもすぐにできるし、ソースもブラウザから見られるので便利かと思います。自分は複数PCで開発したい人なので自分にとっても便利でした。Githubなので共同開発みたいなこともやろうと思えば簡単です。
この矢印のZIPボタンからソースを落とせます。
Simple-Larrabeeフォルダの中身は参考にしている論文読み始めて1日で作りました。参考論文の中身の機能としては揃っています。その後、1週間ぐらいかけてゆっくりXFLR5の解析データから情報を読み込む部分や解析データから必要なデータを補間する部分を作りました。主にGithubに慣れるのに時間がかかったり、CADとの連携をどうしようか思案してプロトタイプを作ったりで時間がかかりました。一通り出来たと思うので完成としました。
Excelで開発した方が多くの人に使ってもらえるだろうけど、Matlab(Octave)だと行列演算が式の見た目通り書けること、積分や補間が非常に簡単で開発にかかる時間が減らせるという理由でOctaveで作りました。
Matlabのようなスクリプト系の言語だと1つのファイルにソースをまとめる人が多いようです。しかし、機能別にサブルーチンにして最上流のファイルでコメントアウトによってサブルーチンのスイッチにする形が好きなので、このような構成にしてみました。
Githubの方に書いているのでそちらを見るのがいいです。
ソースを自分のフォルダの中に適当に入れて、Octaveを起動します。Larrabee.mのあるところまで作業ディレクトリを移動して、
Larrabee
と入れるとresultフォルダに計算結果が出てきます。
Larrabee.mの中を覗いてやるといくつかのサブルーチンが見えます。”Larrabee_input”と”Larrabee_airfoil_ini”の中身を弄って設定値を変えることで任意の状態の誘導損失最小のプロペラが設計出来ます。
“Larrabee_airfoil_ini”の代わりに”Larrabee_airfoil”を有効にするとCd(抗力係数)とα(迎え角)がCl(揚力係数)とレイノルズ数によっても求まります。ただし、エラーが出やすいことと、プロペラの翼型解析に置いてはXFLR5(XFOIL)の値を信じるのは良くないとは言われているためにデフォルトではコメントアウトしています。
作ったプログラムの参考にしたものはこれです。他にも同じような内容の論文をネット上にもありました。
Design of Propellers for Motorsoarers(PDF注意)
著者のE.E.Larrabee先生はMITの教授で”Mr Propeller”と呼ばれ、この論文の内容を生かしてGossamer Albatrossの設計にも携わったようです。
低レイノルズ数でのプロペラ設計の論文も出されている原田さんのTwitterも非常に参考になります。Togetterにまとめてみました。
手前味噌ではありますが、ちょっと前からプロペラに興味を持って、既存のツールの使い方の解説を書いたりしていました。
XROTORがフリーソフトになってたのでUbuntu上で動かしてみた
Larrabee先生も携わったGossamer albatrossとalbatrossの前に作られたGossamer condorの動画は非常に面白いです。