0.1 空力設計を始める前に

おそらく大学の学部授業でレースカーの空力設計を詳細に教わる機会というのは少ないのではないだろうか. 流体力学(厳密には流れ学, または流体工学)の講義では管内流れやら境界層剥離の話をして, 2次元ポテンシャル流れで円柱回りの流れの解析をして, 運がよければジューコフスキ変換を扱って. これらは非常に大事な概念でレースカーの設計にも密接に関わってくるものの, 自分で調べない限りはその接点を見つけるのは難しい. 特にレースカーの設計プロセスは全く大学の授業では知ることはなくて, F1関連のブログでなんとなく解像度の粗い情報は仕入れることができるものの, 最後は自分たちの工学的センス次第な気がする. そこでこのページではレースカーの空力設計を進めるにあたって, どういうアプローチをとるべきなのか, どのように開発を評価するのかなどなど, 直接形状には関係しないが, 設計の根本にあり重要な部分を自分が勉強した範囲で紹介したいと思う. なおこれを書いてる僕も専門家ではなく, 1年程度空力設計をかじった程度の素人である. だから記載内容の間違いは大いにありうる. もし不可解な点を見つけたらぜひ本ページの最下部にあるTwitterのリンクよりご指摘をいただけると非常にありがたい. 

0.2 空力の性能定義

レースカーの空力にはダウンフォース以外にも様々なパラメータがある. 空力のバランスやダウンフォースの量, 車両の姿勢に対するダウンフォースの感度など. ここではそれらのパラメータの目標値をどのように定めたらいいかを示す. なお以下に記すことは基本的にはある程度の仮定の上で成り立っているものに過ぎず, 厳密性を求めれば求めるほど計算はより複雑になっていく. どの工学でも, そして物理でさえあくまで実用上問題のない範囲で現象を”モデル化”しているのだ, という考えをもとに読んでいただけると幸いである.

しかしまずはじめに, まずもって学生フォーミュラにおいて空力デバイスは必要なのか, という話に少し寄り道しようと思う.

0.2.0 学Fに空力デバイスは必要か

学生フォーミュラの場合, エンデュランスでの平均速度域を40km/hと考えると, ダウンフォース量[N]はF1等のフォーミュラマシンと比較すると必然的に小さくなる. ここで車重に対するダウンフォース量をF1と簡易的に比較してみよう.

F1の最低車重は798kg. 学生フォーミュラマシン(以下FSマシン)はうまく作って車重が200kg程度. さらに各レギュレーションから面積を推定すると, ダウンフォース量が概算できる. なおF1マシンのCL値はわからないが, FSマシンよりも優れているということは予想できるので, 今回はCL値が同じと仮定する. またドライバーが感じるDF量はエアロパーツがない時とのグリップとの差であると考え, DF[N]を車重[N]で除した無次元数を導入することで, DFを簡易的にスケーリングできる.

以上を踏まえて, 各速度におけるスケーリングされたダウンフォースを計算したグラフをFig0.1に記す. なお今回は数多くの仮定を置いたため, 無次元数の値そのものにはさほど価値がないと考え, 縦軸の値は敢えて非表示にした. また各マシンの現実的な速度域の部分のみが実線として示されている.

Fig 0.1 F1と学生フォーミュラにおける
スケーリングされたダウンフォース量の差

このグラフから, F1に相当する形状的に優れた[1]エアロ設計をしたとしても(CL値が等しいという意味)ドライバーが感じるDF量の差は明らかである. よって学生フォーミュラにおいて, エアロデバイスから得られるメリットと重量増によるデメリットを比較して, メリットのほうが大きいかどうかは明示的ではない. つまりより軽く, より優れたエアロデバイスを搭載しないと, ただの重りになってしまう.

それではどのようにその点を評価するのか. その評価ツールが僕はLap time simulatorだと思っている. おそらくシーズンの初めにチーム内では, 各動的イベントに対して期待する点数という目標, および過去のデータをもとにその目標を達成するのに必要なタイムは算出されているだろう. つまりlap-time simのゴールはその必要タイムを出すことにある.

[1]: 僕は形状的に優れた設計というのはlap-timeを最小化できる設計だと考えるが, ここでは例外的にCL値が高いという定義で使用している.

0.2.1 ダウンフォース量

ダウンフォース量は空力において”一般に”最も多くの議論がなされるパラメータだろう. ダウンフォース量とは車重を増やさずにタイヤのグリップ力を得る手段であり, その絶対量は速度の二乗に比例する. この特性のために, 一般にマシンは低速コーナーでのグリップ獲得が困難となる. ここで考えられる解決法は2つある. 1つは学生フォーミュラでもよく見られる, ウィングをかなり立ててCL値を稼ぐという方法. もう1つは昔一部のF1マシンで見られたファンなどによって速度に依存しないダウンフォース (Static Downforceなどと呼ばれる)を得る方法である.

各大会のレギュレーションによるが, 例えばスペインの学生フォーミュラチームはファンカーを実装している. ただし予算などを加味したときに, 多くのチームはCL値を最大化するという方向で開発を進めることになるだろう. それではDF量はどこをゴールにすべきか. 僕はDFを直接定義するよりもL/D値の閾値を設けて評価するべきだと考える.

DFが増えるとそれに伴い空気抵抗も増える. これは3次元翼理論における誘導抵抗の話に則っており, 理論によると空気抵抗はDFの2乗に比例する. つまりDFを増やすと空気抵抗を犠牲にする=直線での最大速度を犠牲にすることになる. この2つのパラメータはトレードオフの関係にあるため空力パッケージのパラメータのlap-time simに入れて計算すると, SCLを横軸, SCDを縦軸にとりlap-time deltaのコンター図を描くことで, L/Dの閾値が見えてくる. さらにかみ砕くと, ある一定以上の効率だと, DFを増加させるとラップタイムが増加するという結果が出る.

この閾値以上の効率の範囲ではDFは大きいほうがいいという結果が出るので, 追求できるだけ追求すればいいと思う. ただし, FWやRWなど翼によりDFを発生させている場合は, 2次元翼理論による解よりはDFが大きくならないことを念頭に置き, ゴールとして理論解に対する効率をあらかじめ設定しておいてもいいかもしれない. また, 例えば翼を増やすことで重量増加した結果, 総合してlap timeが遅くなることも十分に考えられるため, CFDなどで設計を進める際は定期的にlap timeを確認することをお勧めする.

0.2.2 空力中心

次に気にすべきは空力中心である. 翼理論によると空力中心とは迎え角を変化させたときに, その点周りのモーメントが一定になる点を指し, より簡単に説明すると揚力(DF)の作用点と捉えることができる. 各翼, 各部品ごとに空力中心は存在し, 最終的には車体全体として1つのDFが作用する点が計算できる(CFDなどで出力する). 概算する必要があれば翼理論のAerodynamics Centre= 1/4*chordに基づき, FWやRWのDFを重ね合わせていけばいいのだろう(やったことはないので精度は保証できない).

ここで空力中心がどのように車体性能に影響を及ぼすかを考える. 空力中心は簡単にいうと, 重心をより動的にする効果がある. もちろん重心は加速度やサスペンションの応答によって位置が変動するが, 空力中心もそれを助長する. 先述の通り, DF量は速度の2乗に比例する. つまり重心位置と空力中心が異なる場所にあった場合, 合力としての車体重心は速度が大きくなるにつれて空力中心側に寄っていくことになる. この変化は, アンダーステアからオーバーステアに切り替わったり, またその逆が発生するなどの車の挙動に影響を及ぼす可能性がある. 

さらに空力中心が重心より前方にある場合, 車は横方向に不安定になる. Fig 0.2に示すタイヤが横滑りする寸前の状態を考える. コーナリングの際の力はタイヤのグリップ(向心力)と慣性によるモーメントである. 図に示すようにモーメントと釣り合う力をそれぞれタイヤに分配すると明らかなように, コーナリング時には特に後輪に大きな負荷がかかる. 空力中心が重心より前にあると, ダウンフォースの配分が前輪側に大きくなってしまい, グリップの必要な後輪側にはダウンフォースがかからないため, 空力中心は一般に重心より後ろに持ってくるのが望ましいといわれる.

Fig 0.2 コーナリング中の車にかかる力とモーメント

もちろんこれらの操作は重心位置はサスペンションのセッティングなどとも密接に関連するため, 正しく予想するのは非常に難しい. 実際にF1でもセッティングに苦労している(と思われる)シーンをよく目にすることがある. そのため, 空力中心は, トラックテストでのドライバーのフィードバックや過去の車両の挙動などから判断して, 今ある問題を解決する方向にシフトさせるというアプローチがいいと考える. もちろん4輪のlap-time simulatorを開発しているチームであれば, 慣性力など車両のすべての挙動を考慮してsimulationが回せるはずなので, 後述するエアロマップとの併用であればlap-time simulatorを用いて最適な空力中心位置を模索するのも可能だろう.  またその場合, 空力中心がlap-timeにどの程度影響を及ぼすかというのを調査しておくことで, 空力の設計者がどの程度空力中心を気に掛ける必要があるかという指標になるだろう.

また空力中心の話(のみではなくレースカーの空力全般)はJoseph Katz氏により2006年のAnnual Review Fluid Mechanicsにデータや参考値とともに記載してある. もしよければ一読してみてほしい(そしてできればこのページも最後まで読んでほしい).

0.2.3 エアロマップ

最後に記述しておきたいのは, エアロマップだ. エアロマップとは車両の姿勢や速度に対するダウンフォースの感度を可視化したものであり, 1. Yaw, 2. Pitch, 3. Roll, 4. Ride Height, 5. Velocityの5つを変数とし10個のグラフとして表記される. ここで速度は異なるRe数によるCL値の変化に着目していることに注意されたい. ここで, 空力の理想は, コーナリング中にDFが急に抜けるなどの車体の姿勢に対するDFの感度をできるだけ低くすることである. これを実現する例は, フロントウィングのマウント位置をできるだけ高くし, 車体が低くなったとしても地面側での剥離しないようにするなどが考えられる. ただし僕の知識の範囲では, 前述した2つを考慮したうえでさらにエアロマップを平坦にするように空力設計者が意識するということは困難であり, どちらかというとエアロマップを根拠にサスペンションのセッティングを行う, という意味合いで使用されることが多いと理解している. 特にRide heightに対するDFの感度は高く, ある程度低くなると急にダウンフォースを失うので, その高さにならないようにサスペンションの調整を行う必要があったりする. 

問題はいかにしてエアロマップを取得するか(計算するか)というところだと思う. エアロマップを取得する方法はCFDによるシミュレーションか風洞実験である. 特にある程度の精度が見込める状態で風洞実験ができるのであれば, それが一番早い. ただし多くの場合, 有意義な実験結果が得られる規模の風洞にアクセスすることは難しく, 風洞モデルを製作している暇もない. そのためCFDによる計算が妥当な提案になるだろう. ただ問題なのは, そこに生じる計算コストだ. 例えば各グラフで8点測定点を設けて, その8点を畳み込み積分, ないしは線形補完してマップを完成させるとする. この場合すべてのマップを生成するのに必要なシミュレーションの回数は10*8=80となり, 据え置きワークステーションで1回6hでCFDが回ると考えても6*80=240hとなる. 仮にjob scriptを組んで自動で計算が回るように設定した場合, 理論上は10日で計算が終わるので, もしこの期間を完全に製作に回すなどの工夫をすれば不可能ではない. また1回3hで終わるようにCFDのメッシュ, または収束条件を粗くすることで5日で終わらせるという方法もある. 

いずれにせよ, エアロマップを一式製作するには, 膨大な計算資源を必要とするため, 最終のデザインを評価する1つの材料としてエアロマップを生成する, というのが現実的な対応になってくるだろう. またサスペンション側でアンチロールバーを採用し, ロール方向の微細な変化は無視する, などの対応を取って計算コストを削減するのも1つの手法だと考えられる. 

エアロマップを生成すると次はlap time simulationへの埋め込みができるようになる. この条件として, 最低でも前後の重心移動, または完全に4輪のsimulatorが完成しておく必要があるが, 車両の姿勢変化を加味したsimulationであれば, Aero mapを組み込むことでより高精度なsimulationができるようになる. また前述した内容と被るが, 姿勢変化を加味した空力の変化が反映されるとlap timeに対する空力中心の感度などより多くの情報が明らかとなる.

0.3 空力の設計手順

もしあなたがGoogle経由でこのサイトに行きついたなら, おそらく1. CFD, いい結果なら2. 風洞, 風洞でも期待通りなら3. 実車というF1における大まかな空力開発フローはすでにご存じだと思う. ただし学生フォーミュラにおいては1. CFD, 2. 実車という流れが多く, 製作の観点からも多くのチームが1つのデザインのみを製作する, つまりCFD頼みになってしまうことが多いのではないだろうか. 日本の学生フォーミュラでは日産さんが製作した非常にまとまった資料があり, ある程度はその通りに実行していればいい, という節がある. ただし結果を見る際に, またどのような結果を見ればいいかという点においてある程度他の知識を知っておいてもいいのではないか. ということで, ここではCFDをベースにした空力設計について概要を述べる.

0.3.0 CFDの定義

CFDとはComputational Fluid Dynamicsの略称であり, 日本語では数値流体力学などともよばれる. 流体の支配方程式は一般に解くことが難しいため, 計算資源を用いて代数的に方程式を解いてやろう, というのがおおまかなアイディアである. ここで注意したいのは, 支配方程式とは必ずしもNavier-Stokes方程式である必要はないということだ. 粘性を考慮しないEuler方程式でも, ポテンシャル流れの調和方程式でもいい. 一般に後者ほど数値的に解くのが容易になってくるため, 初期検討としてはXfoilXFLR5の使用をお勧めしたい. もちろん粘性を考慮していないということは剥離を捉えることはできないが, 例えばフロントウィングや2段リアウィングの翼配置初期検討や翼のL/D(翼の場合空気抵抗のほとんどが粘性抵抗であるため, どちらのソフトウェアもモデル式を用いて粘性抵抗を計算できるようになっている)の検討にはうってつけである. これらの計算は長くとも各自のノートパソコンで5分程度で解析できる.

そして剥離などの粘性を伴う効果を見たい場合には, Navier-Stokes方程式を時間平均したRANS方程式と呼ばれるものを解く一歩上級なCFDを使う必要がある. これがAnsys Fluentなどで扱ういわゆる“CFD”だ. このとき, 特に計算資源に余裕がない場合, 粘性の効果を正しく評価するためには非常に大きな計算コストがかかるため, どの現象に注目したいか, という問題の定義が重要になってくる. 例えばフロントウィングのupwashによるリアウィングのパフォーマンス低下がどの程度かを知りたければ, RANSの2Dのシミュレーションが最適だろう. 

以上に示すように3Dの全車体をRANSで計算する以前にできる流体シミュレーションはたくさんある. 

0.3.1 何をCFDするか

前節で述べた非粘性ソルバーであれば大きな計算コストをかけずに様々な計算ができる. その一方で粘性を考慮するRANSなどは非常に計算コストが跳ね上がる. そのため何をCFDで計算するかが大事になってくる. ただし流体というのは非線形性が強い. つまり流れ場を単純な重ね合わせでは評価ができない. そのため上流に大きく影響を受けるサイド領域のみでCFDを回す, というのは少々腑に落ちない. ただフロントウィングは確実にクリーンな空気を受ける部分なので単体での解析もある程度意味を成すだろう. 実際はノーズの影響や回転している前輪の影響を受けるので, 理想的とは言えないものの, 相対評価をする上ではある程度許容範囲だと判断する. またリアウィングもある程度クリーンな状態の風を受けると仮定すると相対的な評価には十分である. 

またフロントウィング単体での解析をするメリットとして, ある程度複雑な流れ場において, 境界層のメッシュ解像度がどのように影響するのかを調査することができる. 例えば絶対に剥離するフロントウィングを敢えて解析する. このとき, 境界層のメッシュをy+<5で乱流モデルをK-ω SSTとしたときと30<y+<100で乱流モデルをRealizable K-ε[2]としたときに, どの程度解に差が生じるかなどを調べるのは各モデルの限界を知るという上で非常に有用な過程となる. 一般に剝離を伴う流れでは前者が最も望ましいとされる. そしてレースカーの流れ場ではどこかしらで剥離は生じてしまう. その流れ場を後者で解析したときに, どのような物理的乖離が生じるのかを把握しておけば, 望ましくない条件でCFDを回したとき, どこが信頼できてどこが信頼できないのかを判断するいい材料になる. 

[2] 乱流モデルに関してはAnsysのユーザーマニュアルや他にもYoutubeなどで分かりやすい解説が数多くされている. そのためここではカバーしない. 

0.3.2 CFDのセッティング

おそらくセッティングの上で1番大事になってくるのは乱流モデルとメッシングだろう. 中でもCFDの間違いの80%はメッシングで発生するといわれるほど, いい品質のメッシュを切るのは難しい. 個人的におすすめしたいメッシュの種類はHexahedral volumeメッシュだがANSYSでうまく切れるかどうかはわからない. メッシュに関してはこのwebsiteが非常にわかりやすい比較を行っているのでぜひ参照されたい. ほかにもメッシュに関する文献は山ほどあるものの, だからこそとりあえずこれを読んでおけば, という意味を込めて上記のwebsiteを紹介した. また見たい箇所のみのメッシュ解像度を上げるOverset meshと呼ばれる手法を積極的に活用して, できるだけ効率よく計算資源を活用することをお勧めする. 一般には車体周りとWake領域を含む小さなBoxを2, または3段階程度に分けて細かくしていくのが主流である. 

乱流モデルはK-ωSSTモデルを使用するのが一般的である. ただしこのモデルはviscous-sub layerまで境界層のメッシュを切る, つまりy+<5の条件を課す必要があり, 全車体での適用はおそらく不可能だろう. この場合はやむを得ず, 壁関数を使用するしかない. 壁関数を使用する場合, 本来は剥離に適していないソルバーのため, 特に剝離が考えられる領域においては注意して結果を見る必要がある. 例えばタイヤのwakeは表面からの剥離に大きく影響を受けるため, タイヤの後流に影響を受ける部分での評価は精度が落ちるなどと予想できる. 

CFDの計算領域をどうするべきかも大事な議論の対象となるが, すでに多くの論文で値が示されている上に, 市販車とレースカーでも必要な計算領域は異なってくるため, 可能な範囲で大きく取っておくのがベスト. よく見るのは横と前方に5L, 後方は15-20Lだ. これもできればDomainを変えたときにどのように結果が変化するかを把握しておくとよい. 例えばDomainに対してSCL値が線形に変化するなどの明示的な傾向が見られた場合は, Domainを小さくしてmeshの解像度をより上げてsimulationを回したあと, その結果をDomainの傾向に応じて補正する, などの方法も考えられるだろう. 

CFDのセッティングに関しては, 解析ソフトを出している会社が学生フォーミュラ用の応用例を動画にしている場合や, 過去の講義をオンラインで公開していることがある. こういう講義はあまい深入りせずに, 必要な知識を広く教えてくれるので, 初めてANSYSなどのCFDを触る場合はこういう動画をみるのもいいだろう. 

0.3.3 CFDで何がわかるか

CFDから得られるデータがSCL値やSCD値のみではない. どちらかというとそれはサブで, メインは流れ場と圧力場を得られることにある. 詳細な流れ場がわかるということは, 今のデザインのボトルネックになっている部分が割り出せるということだ. その一方で得られるデータが多すぎるために, 何を見たらいいのかわからないという状況にもなりうる. なのでここではレースカーのPost-Processはこれ!というwebsiteを紹介しておく. このwebsiteはF1エンジニアのすごく有名な方が執筆されており, これをひとしきり読んでおくと, “結果の見方”がわかるようになる. LICなどはソフトウェアによっては対応していないこともあるので, ある程度限られた応用になってしまうかもしれないが, このwebsiteで紹介されている方法に間違いはない. 

ぜひ1つ1つのシミュレーション結果に対して時間をかけてじっくりと流れ場を観察し, どのような現象が起こっていて次にどうしたらより目標に近づくかを吟味する癖をつけるといいだろう. 

0.3.4 CFDの次は?

風洞ができないと仮定すると, CFDの次は実車での測定になる. 実車では圧力孔を用いた翼周りの圧力測定や, 車体の転がり性能よりCd値を予測することなどができる. またタフト法を用いた流れの可視化も定性的な評価としてはありだろう. 特にCFDとの結果を比較するという目的で, CFDではぎりぎり剥離している迎え角にしたときに現実ではどうなっているかを観察することで, CFDの結果の癖も同時に特定することができる. ペイントがあればflow vizを用いて翼の流れを観察するのも効果的だろう.

実車の測定に関してはこの程度しか知識がなく, ひずみゲージを用いたダウンフォースの測定における問題点などを自分はまだあまり知らない. 学ぶ機会があれば追記しようと思う.