vol.3
ものづくりプロセスに変革をもたらす
高精度流体シミュレーションを実現
船や自動車などの設計の最終段階では、模型や試作機を製作し、大型の設備を使った性能試験が欠かせません。性能試験をスパコンによるシミュレーションで代替できれば、設計コストも設計期間も削減できると期待されていますが、スパコンの計算能力とソフトウェアの両面の制約から、シミュレーションの精度がまだ足りないのが現状です。この状況を打開すべく、加藤さんはスーパーコンピュータ「富岳」の成果創出加速プログラム課題*1の代表者として、高精度なシミュレーションの実現を目指しています。その成果の一つとして、船の設計で性能試験の代替となり得る精度のシミュレーションを、短時間で行うことに成功しました。
船の設計に必要なシミュレーションとは
船や自動車などのものづくりは、どういう製品をつくるかという概念設計から始まり、製品の基本的な仕様を決める基本設計、製品の細部の仕様を決める詳細設計と進み、最後に模型や試作機を使った性能試験が行われます(図1)。「船の形を決める船型設計の場合、大きな模型をつくって水槽で実験します。一つの船型の試験をするためには、1000万円から2000万円ほどの費用と1週間程度の時間がかかります。我々は、これをシミュレーションで置き換えることを目指しています。置き換えができれば、試作が不要になるのでコストも削減できるし、性能に不具合があった場合すぐに設計をやり直すことができて時間も削減できますからね」と、加藤さんはシミュレーションの意義を語ります。
図1
ものづくりにおけるシミュレーションの
適用範囲の拡大
船や自動車などの設計は、概念設計、基本設計、詳細設計と進み、最後に、模型や試作機による性能試験を行う。性能試験で不具合があった場合は、前の段階に戻ってやり直す(概念設計まで戻ることもある)。従来のシミュレーションは、主に詳細設計段階で利用されていたが、試作・試験をシミュレーションで代替できるようになれば、試作・試験段階のコストと期間を削減できるだけでなく、性能評価の結果をすぐに設計に反映できるので、設計に要する期間を飛躍的に短縮できる。
船の性能試験は大きく分けて2種類あります。一つは、プロペラを回転させない状態で模型を引っ張る抵抗試験で、船体がまわりの水から受ける抵抗を求めます。もう一つは、プロペラを回転させた状態で模型を引っ張る自航試験で、船体とプロペラとの干渉効果を求めます。こうした試験における、船体やプロペラのまわりの水の流れを再現するために使われる方法の一つが「有限要素法」です。この計算法では、船体のまわりの水を細かい格子(要素)に分け、その中の水の動きを物理法則に従って計算します。
試験をシミュレーションで置き換えるには、計算結果の誤差を小さく抑える必要があるため、船体のすぐ近くにできる乱流*2の小さな渦まで再現しなければなりません。しかし、従来の計算では船体のまわりの格子の数がせいぜい数千万から1億程度で、小さな渦は再現できませんでした。そこで加藤さんたちは、数百億から1000億という、従来の1000倍もの数の格子を用いたシミュレーションを行って1mm以下のサイズの渦を再現し、試験の結果とほぼ一致するデータを得たのです(図2)。
図2
船型設計の性能試験代替に必要な
シミュレーションの精度
船型設計では、写真のように模型を水槽で曳航する試験が行われる。3つの図は、抵抗試験の一種で得た船尾付近の流速分布と、2種類のシミュレーション結果の比較。従来のシミュレーションでは、乱流の小さい渦を再現できないため試験結果とは異なった結果となっている。これに対し、従来の1000倍の格子数を用いた今回のシミュレーションでは、乱流の小さい渦を再現できるため、よく一致している。性能試験を代替するには、このレベルのシミュレーションが必要となる。
「実は、以前に同じシミュレーションをスーパーコンピュータ『京』でも行ったのですが、計算量が膨大なため、約2万5000の計算ノードを使って2日間程度かかりました。これでは設計の現場で使えません。そこで、『富岳』では計算時間を30分の1以下に短縮することを目標として研究開発を進めてきました」と、加藤さんは説明します。この目標はどのようにして達成されたのでしょうか?
計算速度向上のため
データ転送にかかる時間を短縮
加藤さんたちは「FrontFlow/blue (FFB) 」という有限要素法のソフトウェアを開発しています。加藤さんは1984年に大学院修士課程を修了し、入社したメーカーでFFBの原型となるソフトウェアを開発しました。大学に移ってからは、文部科学省のプロジェクトの支援も受けながら、スパコンの進歩に合わせてFFBをアップデートし、いつも最高の性能を発揮するように努めてきました。
今回も、「富岳」の特徴を生かしてFFBの計算速度を上げるために、CPU内のメモリから演算器へのデータ転送速度を最大限に上げる工夫をしました。FFBの計算ではメモリから大量のデータを読み込む必要があるため、その転送速度を向上させることが計算速度の向上に直結するからです。
「工夫の一つは、メモリ内にデータを置く際に、なるべくきれいに並べるようにしたことです。これにより計算すべきデータを素早くとってこられるようになりました。もう一つは、従来の有限要素法とは異なるアルゴリズム(計算方法)を考案したことです(図3)。従来は要素を順番に計算していたのですが、我々は要素をつくる点である節点の順番に計算するようにしました」
図3
メモリ転送速度を向上させるために
考案した新たな計算方法
従来の計算方法では、まず要素1を計算し、その次に要素2を計算するというように、要素を一つずつ順番に計算していた。新たな計算方法では、ある節点において、その節点を含む要素を全部一度に計算し、その次に次の節点での計算に使う。このように、計算順序を抜本的に変更することにより、「富岳」をはじめとした最新鋭のCPUの性能を最大限に発揮することができるようになった。
その結果、メモリ転送速度は「富岳」の実効最大メモリ転送速度*3に迫るまで向上し、「富岳」全体で「京」全体の70倍の計算速度を達成することができました。冒頭の「京」で2日程度かかった計算も、1時間以内で終えることができ、目標を大きく上回る成功となりました。
エンドユーザーを巻き込んで
シミュレーションの実用化を推進
加藤さんたちはこれまでに、数種類の船型について、抵抗試験時の船体まわりの水の流れ、自航試験時の船体とプロペラの干渉効果(図4)、波による抵抗などを細かい渦まで含めてシミュレーションしています。それらの結果と試験結果との差は小さく、試験を代替できるレベルに達していました。
図4
プロペラとそのまわりの流れの干渉効果を求めるシミュレーション
船体のまわりの水の流れとプロペラの回転は干渉し、船の推進力に影響する。この干渉効果を測定するための試験が自航試験である。試験では、船体やプロペラまわりの水の流れの詳細なデータをとることは難しい。シミュレーションでは詳細なデータが得られるので、設計の高度化にもつながることが期待される。カラーで圧力分布、白黒で流速分布を表している。
画像提供:一般財団法人日本造船技術センター
「我々の大きな目的はシミュレーションの実用化なので、いろいろな船型や条件で計算をどんどん進め、このシミュレーションが設計現場で使い物になることを実証したいと思っています」というのが、加藤さんの今後の抱負です。
ここでご紹介したのは船だけですが、加藤さんが代表を務める成果創出加速プログラムの課題では、自動車、ポンプ、圧縮機などの設計でもこのようなシミュレーションの実用化を目指しています。実用化を推進するための活動として、船やターボ機械、流体機械のメーカー、ハードウェアとソフトウェアのベンダーなど54機関150名からなるコンソーシアムを組織し、メーカーがシミュレーションを導入する際の課題解決にも取り組んでいます。
日本のスパコンの黎明期から流体シミュレーションを手がけ、ソフトウェアを育て続けてきた加藤さん。シミュレーションの実用化に向けた加藤さんの努力が実を結ぶ日はもうすぐそこまできています。
【注 *1】
課題名「『富岳』を利用した革新的流体性能予測技術の研究開発」(代表者は加藤さん)。テーマ1「数値曳航水槽の実現と省エネデバイスによる推進効率の向上」、テーマ2「細隙部を含めた多段遠心ポンプの内部流れのWall-Resolved LES」、テーマ3「圧縮機サージの直接解析」、テーマ4「リアルワールド自動車空力性能の予測」、テーマ5「リアルワールド自動車空力音予測」からなる。
戻る研究者紹介
小学生の頃、プラモデルを買うために新聞配達をしたこともあるという加藤さん。学生時代は機械工学を専攻し実験的な研究をしていましたが、就職してシミュレーションに出会い、そのおもしろさにひかれて今日まで研究を続けてきました。パーティー会場設営や引越のアルバイトで身につけた段取り力と、英語の原稿を用意するときは定冠詞、不定冠詞、無冠詞の使い分けにまで気を配る緻密さ――両者をあわせもつ加藤さんにとって、シミュレーションは天職なのかもしれません。実際、研究でストレスを感じることはないそうです。趣味は友人たちとのゴルフ。新型コロナが終息し、またコースに出られる日を心待ちにしています。
研究課題名:
「富岳」を利用した革新的流体性能予測技術の研究開発
(ターボ機械設計・評価システムの研究開発)(hp200133)
課題代表者:東京大学生産技術研究所 加藤 千幸
(2020 ACMゴードン・ベル賞ファイナリスト研究成果)
出会いに導かれて
大学院修士課程を修了した1984年、私は日本原子力研究所計算センターに職を得ました。研究所では原子炉安全性研究や核融合研究のために、最新鋭のベクトル計算機VP-100が導入されたところでした。ここで初めてスーパーコンピュータに触れ、研究現場でのさまざまな実アプリケーションに触れることとなりました。特に、ベクトル計算機により大幅な性能向上が得られた原子炉配管の熱流体シミュレーションや原子法レーザー同位体分離の研究に携わったことは、その後の研究の道標となりました。
10年が過ぎた頃、科学技術庁(現文部科学省)においては計算科学研究を推進することとなり、ここで三好
2006年には、当時文部科学省で研究振興官だった渡辺
思い返すと、それぞれの時代の最先端スーパーコンピュータに触れられたことは私の幸運でした。多くの人との出会いに導かれ、誘われるままにスーパーコンピュータの開発、それを利用した大規模シミュレーションを行ってきました。こうした中で計算機科学、計算科学のどちらか一方の知識だけでなく、両方の知識を備えることの必要性を強く感じています。今後はそのような人材育成に力を入れていきたいと考えています。
次回は、ゲリラ豪雨など短期気象予測の精度向上を目指したデータ同化研究を精力的に行っている、理化学研究所計算科学研究センターの三好建正チームリーダにつなぎます。
理研から神戸大に寄贈されたスーパーコンピュータ「京」の筐体の前で