タイトルは流行りの煽り文句です.9割嘘です.自分で書いてイライラしますね.
下にも同じリンク貼ってるけど,今回作ったプログラム
プログラム:https://gist.github.com/ina111/5053876
解説:https://gist.github.com/ina111/5053903
(追記)pythonで書き直しました。こちらの方が現代では使いやすいと思います。
https://gist.github.com/ina111/f0cedfb1c9e9055af72f8af26f31daca
(追記終わり)
鳥人間関係で面白いネタを教えてもらったので,議論するのもなんなのでサクッと作ってみました.
人力飛行機など(効率重視の飛行機ならなんでも)の主翼の設計をする時の話です.
まえがき
飛行機を低出力で飛ばすためには揚抗比というのが大事になります.揚力の大きさに対しての抗力を小さくしろってことです.人力飛行機では抗力の中でも誘導抗力というものが全体の1/3もあります.これは翼の上下面で圧力差が出来ることから翼端で渦発生し,その生成エネルギーで消費されるものです.
この誘導抗力を最小にする主翼の平面形というのは航空力学の教科書に載っています.それが楕円循環分布と呼ばれる.揚力の分布が楕円状になるものです.昔の航空機で主翼の平面形が楕円形になっているものがあったりします.循環っていうのは揚力や誘導抗力などを上手く数式で表せる便利なやつです.
主翼の設計方法
十分な揚力が得られる翼面積を保ちつつ,誘導抗力が小さくなるように楕円循環分布に従うように主翼の平面形を決めていきます.
教科書に書いてるこの方法が,イケテナイです.
楕円循環分布は揚力とスパン幅が一定の場合の誘導抗力が最小の循環分布です.つまり,空力面だけでの最適な形です.
空力だけではなく構造も含めて最適な主翼が設計したいなら曲げモーメントと誘導抗力を同時に制限して最適問題を解かないといけません.
そのことを書いた論文がR.T.JonesのNACA(NASAの前身)のテクニカルノート(TN-2249,”The spanwise disribution of lift for minimum induced drag of wings having a given lift and a given bending moment”)です.これは平面翼について解析的に書いてあります.
これを非平面翼で数値計算で解いて日本語で書いてあるのが浅井先生のNAL(JAXAの前身)のテクニカルレポート(TR-797,”非平面翼の最適設計-揚力と翼根曲げモーメントを与えた時の最小誘導抵抗-“)です.
プログラム
このTR-797をMatlab(Octave)で実装してみました.200行程度だったのでGithubのサービスの中のGistを使ってみました.詳しくは論文と下の解説を読んで下さい.論文を読んで下さい(大事なので2回)
プログラム:https://gist.github.com/ina111/5053876
解説:https://gist.github.com/ina111/5053903

プログラム中のbetaの値を0.9にしています.これは翼根での曲げモーメントを楕円循環分布での値から0.9倍にした制限をかけた時の誘導抗力が最小になる揚力の分布が以下になります.
翼根のあたりでより多くの揚力がが必要な分布になっています.
この条件(Gistに載せているデフォルトの条件)のときはbeta=0.9で飛行効率0.92となりました.だいたい1[N]ぐらいの違いでしょうか.この違いが構造重量で吸収できるようなら,楕円循環分布を捨てて,こちらの循環分布を用いるべきなことがわかります.
実際は構造を上手く攻めたり,できるかどうか,あと複数パラメータ振ってみての比較をするかどうかで,採用できるかどうか変わってくるかと思います.
感想
揚力線理論なプログラムは組んだこと合ったけど,渦格子法っぽいプログラムは初めて組んだので,これで人力飛行機なプログラムはかなり満足しました.やり残したことキチンと無くして社会人になりたいですね.