スパコン「富岳」と“トイレ”の意外な関係——TOTO独自のシミュレーション技術【第1話】
突然ですが、TOTOがスーパーコンピュータ「富岳」を利用しているなんて、ほとんどの方は聞いたことがないですよね?
「富岳」とTOTOをつないでいるのは、トイレやシャワーなど水まわり商品の“水の流れ”をコンピュータで再現するシミュレーション技術です。
TOTOは、30年以上前の1980年代末からシミュレーションに取り組み始め、1990年代からは独自のソフト開発に着手しました。2010年代以降は商品開発に幅広く活用できるレベルまで高まり、独自ソフトの進化は現在も続いています。
今ではTOTOの水まわり商品の開発過程に欠かせない存在となっているシミュレーション技術について、同技術を牽引する3人の社員に話を聞きました。
全2話で構成する本ストーリーの第1話では、大便器の流体シミュレーション技術が確立するまでの約20年間の歩みをご紹介します。
聞き手:TOTO株式会社 広報部 本社広報グループ 桑原由典
シミュレーションひと筋の3人
――スペシャリスト[※1]である3人に集まってもらいました。みなさんがシミュレーション技術にどのように関わってきたのか教えてください。
重藤: 私は1991年1月に中途でTOTOへ入社したのですが、前の会社でもシミュレーションをやっていました。当時、TOTO社内に「全社CAE[※2]構想」というものがあり、シミュレーションができる人財の募集があったんですよ。
それ以来、部署を変わることはありましたが、一貫してシミュレーション技術に関わる業務をおこなってきました。
池端: 新入社員として私が入社したのが1991年4月なので、重藤さんとほぼ同じ期間、TOTOで過ごしています。
学生時代から「コンピュータ・オタク」で、プログラミングの能力が活かせる部署として、重藤さんと同じCAE技術グループに配属されました。以来、部署を異動することなく、シミュレーション技術に関わってきました。
重藤: 池端さんが入社してきたときから、「プログラミングでは敵わないな」と思いましたね。
池端: 逆に言えば、「私の生きる道はプログラムだけ」とも言えます。
重藤さんは大学で航空工学を学んでいて物理学がベースにありますが、私は情報系の大学だったので、物理は後追いです。
――佐々木さんの入社のきっかけは、池端さんの学会発表だったそうですね。
佐々木: そうなんです。
私はもともと、大学で水の流れのシミュレーションをやっていました。「魚が泳いでいる時に、どのような水の抵抗をうけるか?」をシミュレーションで解明しようというものです。
生きている魚で実験するのは極めて困難なので、魚の泳ぎ方の解明にシミュレーションが活用されています。
学生時代、水の流れのシミュレーションに関する学会発表をたくさん見てきたのですが、TOTOは際立っていました。「こんなすごいシミュレーションを、企業がやっているんだ!」と、衝撃を受けました。
池端: 当時私は、TOTO社員のまま東京工業大学(現・東京科学大学)の博士課程に在籍していました。その流れで、大便器の流体シミュレーションについて学会発表したんです。
学会発表後、佐々木さんの先生と私の先生を交えた4人で、近くのファミレスでランチをしました。アカデミックなシミュレーションの話で、盛り上がりましたね。
佐々木: そうでしたね。
大学でシミュレーションをやっている人は自動車業界に行くことが多いんですが、池端さんに出会ったことと、大学でやっていた水の流れを活かせることもあり、2016年4月にTOTOへ入社しました。
入社9年目ですが、当初よりCAE技術グループに配属して、シミュレーションに関わっています。
池端: 佐々木さんは、水の流れのシミュレーションで学生時代から賞を取っていたりスパコンも使っていたスペシャリストです。
そんな佐々木さんをTOTOへ導くきっかけをつくったのが、私の最大の功績かもしれません(笑)。
シミュレーションのメリットとは?
――コンピュータ・シミュレーションは、実験、理論に次ぐ「第三の科学」とも呼ばれています。TOTOのような水まわりメーカーがシミュレーションを取り入れると、どういうメリットがあるんでしょうか?
重藤: 大きく3つのメリットがあります。
ひとつは、実験では測定が困難だったり、測定不可能な情報を得ることができることです。
トイレの水流のスピードを測るために、実験であれば流速計を突っ込んで測りますが、測れるポイントは限られてしまいます。シミュレーションであれば、任意のポイントのスピードを測ることが可能です。
――なるほど! コンピュータで水の流れを再現できれば、測りたいポイントを後から測定できるわけですね。
池端: 言うは易しで、商品開発に使えるレベルの再現度=リアリティを実現するのに、大便器の水流で20年あまりかかりました。
重藤: 2つ目のメリットは、さまざまなパターンの比較・検討が簡単にできることです。
試作品を何パターンもつくって実験をするのは、時間も費用も手間もかかります。シミュレーションであれば、形状パターンを変えるだけでなく、材質を変えることも比較的簡単にできます。
佐々木: 例えば、2種類のオーバーヘッドシャワーの体への当たり方も、このように比較することができます。
――シミュレーションで比較・検討が完結できれば、究極的には「試作レス(試作品ゼロ)」も実現できると?
佐々木: 我々が目指している世界は、そこです。
現時点で「試作レス」までは実現できていませんが、例えば試作回数を減らして、開発期間を2〜3ヵ月短縮することに貢献できたりしています。
重藤: 3つ目のメリットは、流れを可視化できることです。
これまでにお見せした画像もすべて可視化の結果ですが、そもそも目に見えない空気の流れなども含めて、さまざまな流れを可視化できます。
池端: こちらは、TOTO独自のシャワー技術である「ウエーブ水流」を発生させるノズル内部のシミュレーションです。わずか数mmの細い流路で起きている現象なので、実験で観察するのは極めて困難です。
左から右に水が流れていますが、三角形の障害物に当たって、その後ろで
「カルマン渦」という乱流が発生する様子を可視化することができました。
リアリティ追求の“取捨選択”
――TOTOのシミュレーション技術は、かなりのレベルまで達しているんですね。
比較対象ではないかもしれませんが、ゲームの世界では、自動車のドライビングシミュレーターや飛行機のフライトシミュレーターなど、現実と区別がつかないほどリアルな世界が実現しています。
重藤: そうしたゲームもシミュレーションの一種です。ただし、ゲームの世界と水まわりメーカーでは、追求する“リアリティ”の方向が異なります。
シミュレーションの世界でリアリティをどう出していくか、ゴルフゲームで考えてみましょう。
私が大学生だった40年くらい前、インベーダゲームが登場したり、NECのPC8001など、パーソナルコンピュータ(パソコン)が一般家庭に入りだした時代でした。
――私は小学生でしたが、ブラウン管のグリーンと黒のモノクロモニターで、カセットテープからデータを読み込んでゲームをしていました。
重藤: そんな時代でしたね。
当時パソコンを買うと、おまけでゴルフゲームがついてきました。当然ながら、今のようにリアルなものでなく、線画で全体形状とグリーンと池とバンカーが表示されるくらいの簡素なものでした。
ハンデ(難易度)を入力した後、クラブを選択し、スイングの強さを決定すると、ゴルフボールの軌跡が表示され、それを何回か繰り返すとカップインです。
とはいえ、これも一種のシミュレーションです。ボールの飛距離をどのように計算しているのか考えてみましょう。
力学的には「斜方投射された物体の放物運動計算」になるので、初速と投射角度を与えると軌道は計算できます。
――まさに放物線……。中学校の理科(物理)の授業のようですね。
重藤: シミュレーションの基本は、実は極めてシンプルです。
初速はスイングの強さから、投射角度はクラブ選択で決定できます。
初速や投射角度のバラツキは、ハンデを基にして誤差範囲を設定し乱数で決定すれば“それっぽく”なります。さらに地面を転がるので「転がり摩擦」の計算をするということでしょう。
――なるほど。放物運動の原理原則に、現実に起こり得るであろう要素を加味していく……。
重藤: そういうことです。
シミュレーションは大きく2つの要素からできています。
①「基礎方程式」の選択による基本構造の構築
②「影響要因」の追加によるリアリティの追求
です。
ゴルフゲームでの基礎方程式は、ニュートンの第二法則(F=ma)です。
影響要因は、さまざまな外力Fということになります。クラブによるインパクト力から始まって、重力、飛翔に伴う空気抵抗、ボールの回転による揚力、風、着地点でのバウンド、バックスピン、転がり摩擦、芝生、天候等……。微小な影響要因までつきつめていくと、きりがありません。
シンプルなゴルフゲームでさえ、すべての影響要因を完全に考慮することは不可能、ということになります。
――リアリティをどのように追求するかが、重要であると……。
重藤: そこが、ゲームの世界のリアリティと、水まわりメーカーのリアリティの違いになります。
メーカーにおけるシミュレーションは、「工学的有用性を目指したリアリティの追求」になります。
重要なのは、「多くの技術者が納得できるレベルで現実を再現できること」です。
――ゲームの世界であれば、“爽快感”や、“現実以上のリアリティ”のような、違うフィルターがかかりそうですね。
重藤: TOTOの水まわり商品は、お客様の毎日を支える、極めて日常的なものです。
ゲームの世界のように現実を強調する必要は全くありませんし、反対に、研究機関のように「力学的厳密性」を追求する必要も、必ずしもありません。
日常的に使う水まわり商品のリアリティを追求するために、さまざまな要因の影響度を把握して“取捨選択”できることが、TOTOのCAE技術者としてのノウハウになります。
――TOTOの「先人の言葉[※3]」にある、「需要家の満足の追求」が、取捨選択のポイントになりそうですね。
重藤: そうですね。
商品開発の原点は、先人の言葉を言い換えれば、「お客様に満足してもらうこと」に尽きます。その目的を達成するために、どうすればCAE技術者としてのノウハウを獲得できるのか……。
そのヒントは、コンピュータの画面を見つめることではなく、現物を観察することにあります。現物の動きを注意深く観察し、結果につながる要因を考察することが重要です。
メーカーにおけるシミュレーションとリアリティを結びつける鍵は、CAE技術者自身の“観察の深さ”と“感覚の鋭さ”ということになります。
――寺山修司の「書を捨てよ、町に出よう」ではないですが、コンピュータやプログラミングに精通している以上に、現象を理解し、解釈する能力が重要だと。
池端: CAE技術者は、プログラミング能力や、コンピュータの性能に頼った“力づく”な解決に走りがちです。
重藤さんから、「現象をよく見てください」と言われました。観察から導かれる方程式は、必ずしもスパコンを使わなくても計算できるんじゃないですか、と。
最初は市販ソフトの活用から始まった
――TOTOのシミュレーション技術開発は、どのようにスタートしたのでしょうか?
重藤: 1989年に立ち上がった「全社CAE構想」から、シミュレーションへの取り組みが始まりました。
当時は、TOTOに限らずいろいろなメーカーが、コンピュータを導入して商品開発に役立てようとしていた時期でした。バブル景気の真っ只中でもあり、新しい試みに投資をしようという雰囲気もありました。
TOTOでも、当時最先端のスーパーコンピュータを購入しようという話があったくらいです。
――そうだったんですか?
重藤: バブルが弾けて、その話はなくなりましたが……。
1991年にTOTOへ中途入社した際、当時の上司から、「“大便器の水の流れ”と、“衛生陶器の製造時の変形予測”について、シミュレーションに取り組んで欲しい」と言われました。
過去に、加熱した鉄鋼を水で冷却する際の変形についてのシミュレーションを研究していたことがあるので、その知見を活かしやすい衛生陶器の製造時の変形予測から取り組みました。
――製造過程で約13%も縮む、その変形予測ですね。乾燥時に約3%、焼成時に約10%縮みます。
重藤: 取り組んだのは、焼成時の変形予測でした。
約2年あまりで焼成時の変形予測シミュレーションが開発できたので、もう一つの課題である「大便器の水の流れ」に、1992年から取り組みました。
――ソフトの独自開発も、その時からスタートしたんですか?
重藤: いいえ。当時市販されていた流体解析の汎用ソフトを使いました。
大便器に水を流すと、一緒に空気も巻き込まれます。水だけでなく、空気の流れも同時にシミュレーションする「気液二相流解析」ができないと、水の流れをリアルに再現できません。
その市販ソフトは気液二相流解析ができると謳っていて、当時としては画期的なものでした。そこでこのソフトを使って、いろいろな大便器の水の流れをシミュレーションしてみました。
シミュレーション結果が、こちらです。
――素人目には、シミュレーションできているようにも見えますが……。
重藤: 「なんとなく似たような感じ」には、できました。
でも、「サイホン便器」の流れが、どうしても解けなかったんですよ。
――サイホン現象を利用して、一気に水を引き込むタイプの便器ですね。何が難しかったのでしょうか?
重藤: 水と空気の境目が、“なんとなく”しか計算できませんでした。
トラップ内の空気が押し出されて水で充満されるとサイホン現象が発生し、空気が入るとサイホン現象が終了するのですが、水と空気の境目があやふやだと、精度よく再現できません。
池端: 市販ソフトは、あくまで「汎用」なので……。大便器の水の流れに特化したソフトではないので、重藤さんは苦労されていましたね。
流れの実験ビデオを見ると、無数の気泡がカオスのように発生しているわけですが、市販ソフトでは大きな数個の気泡しか生成されなかったり……。
重藤: 市販ソフトで何とかできないかと格闘しましたが、結局、目途が立ちませんでした。根本的に考え直さなければいけないな、と……。
東工大との共同研究で、独自ソフト開発スタート
――それで、TOTO独自のソフト開発が始まったんですね。
池端: 実は前段があって、大便器の水の流れの前に、燃料電池[※4]のためのソフトを自社開発していたんですよ。
燃料電池の開発にシミュレーションを取り入れることを重藤さんが提案されていたんですが、大便器と同様、市販ソフトでは対応ができませんでした。
1994年、入社4年目の私に、重藤さんが「池端くん、ソフトをつくってみたら?」と背中を押してくれて……。
市販ソフトのソースコード[※5]を見る機会があったのですが、「それほど難しくないな」と安心していたので、やってみようと思いました。
――燃料電池も、「流れ」が重要なんですか?
重藤: 水素と酸素を反応させて電気をつくるので、水素ガスや電気の流れがあります。他にも化学反応など、さまざまな要素が複雑に絡んできます。
池端: プログラミングは得意でしたが、シミュレーション技術そのものは門外漢でした。重藤さんに教えを乞いながら、数千行のプログラムを自力で書きました。
――その後、大便器の流体解析ソフト開発が始まったのですね。
池端: 2000年から開始しました。
重藤さんが市販ソフトで苦労されていた、水と空気が混在する「気液二相流解析」ですが、そもそも2種類の流体が混ざる「混相流」を解くための万能な方法はないんですよ。
――「万能な方法がない」とは、どういうことなんでしょう?
池端: 水や空気などのあらゆる“流れ”の「基礎方程式」は、「ナビエ・ストークス方程式」です。
流体シミュレーションを極めて単純化すると、「ナビエ・ストークス方程式をコンピュータプログラムで計算すること」と言えます。
ただ、この方程式をコンピュータでそのまま解くことはできないんです。
佐々木: そもそもコンピュータは、足す(+)・引く(−)・掛ける(×)・割る(÷)の、四則演算しか計算できませんから。
――そうなんですか⁉
池端: ナビエ・ストークス方程式を、コンピュータで計算できる四則演算の組み合わせに置き換えて、はじめてシミュレーションができます。専門的には、数値流体力学(CFD=Computational Fluid Dynamics)といいます。
この“置き換え”に、さまざまな手法があるんです。ソフトを自社開発するにあたって、大便器の水の流れに最適な手法を求めて、手当たり次第に文献を探って巡り合ったのが、「CIP法[※6]」でした。
2000年当時、東京工業大学(現・東京科学大学)で研究が進められていた計算手法で、若手で気鋭の肖鋒先生の名前が目に飛び込みました。
いてもたってもいられず、肖先生が出られる学会にすぐさま出向き、弟子入り志願しました。
――佐々木さんとの出会いといい、学会が絡むことが多いですね。
池端: 当時もそうですが、今でも数値流体力学は進化を続けています。大学などの研究機関との、いわゆる産学連携が有効なケースは多いですね。
2001年より開始した東工大・肖先生との共同研究では、計算手法の理論を肖先生と共同で行い、プログラムは私一人で書きました。
数万行におよぶ大規模なプログラムとなったTOTO独自の高精度流体解析ソフト「バージョン1」は、2002年に社内リリースしました。
――私はプログラミングに疎いのですが、流体シミュレーションのプログラムは、どんなところが難しいのでしょう?
池端: プログラムを“安定”させることです。
専門的な言葉では「発散」といって、本来ありえない猛烈なスピードにまで流れが発散してしまうことが多々あります。
重藤: 加えて、コンピュータは全く融通がききません。プログラムに1文字でも間違いがあると、止まってしまうか、間違った答えを出してきます。
プログラムをつくるだけでなく、プログラムの間違いを見つけること=デバッグを的確に素早くできるかも、プログラマーに求められる能力です。
スパコン「TSUBAME」の活用
――その後、TOTOは2011年から2年間、東工大のスパコン「TSUBAME」を使っていました。スパコンを使うと、どういうメリットがあるんでしょう?
池端: メリットは極めてシンプルです。スパコンを使うと、大規模な計算を短時間で行えます。
スパコンの話に行く前に、流体シミュレーションの基礎中の基礎である、「離散化」について説明させてください。
流体をありのままの状態で計算しようとすると無限に細かくなってしまうので、マス目に切って近似的に計算しています。これが離散化です。我々は「メッシュを切る」といいますが、このメッシュを細かくすると精度が上がる一方、計算量は指数関数的に跳ね上がります。
2010年当時、大便器の表面の「薄膜流れ」が、うまく再現できていませんでした。厚さが数ミリ程度の流れなので、社内の計算環境で扱えるメッシュ数では粗すぎたんです。
――スパコン「TSUBAME」を使うことで、メッシュを細かくできたんですね?
池端: 結論的には、メッシュ間隔を1.5mmから0.5mmにすることができました。ただし、スパコンで速く計算させるためには、別のノウハウが必要です。
佐々木: スパコンというのは、1台の超優秀なパソコンがあるのではなくて、何百台ものコンピュータに同時に計算させることで、大量の計算を短時間でこなすものです。
スパコンの能力を引き出すためには、「並列計算」といって、それぞれのコンピュータにできるだけ均等に計算を割り振って、コンピュータ間で計算結果を渡す必要があります。
池端: 100台のコンピュータに並列計算させたら100倍のスピードになるのが理想ですが、実際はそうなりません。
コンピュータ間の通信でのロスや、コンピュータごとに計算時間のバラツキが発生するからです。加えて、スパコンにつかわれているコンピュータの特性に応じた“チューニング”も必要です。
――スパコンの性能を引き出すには、既存のプログラムそのままでは、ダメなんですね。
池端: そうなんです。
「TSUBAME」の性能を最大限発揮できるように流体解析プログラムを改良した結果、150台のコンピュータをつかって100倍以上の計算性能を発揮することができました。
「TSUBAME」に対応した自社ソフトの「バージョン4」は、2013年に社内リリースしました。
バージョン4のシミュレーション結果が、こちらです。左が「TSUBAME」、右が社内の計算環境での結果です。
便器表面の薄膜流れも、タンク式トイレの水流では実用レベルの精度で再現できるようになりました。
ですが……。
――0.5mmの細かいメッシュでも、まだ足りない?
池端: メッシュを細かくするだけでは再現できない水流が残っていました。TOTOの最上位トイレで、もっとも節水が進んでいる「ネオレスト」シリーズの水流です。
現状打破のため、40代後半で博士過程に
――素人考えだと、「スパコンを使えば、なんでもできそう」と思ってしまいますが、そうではないんですね。
池端: 先ほどもお話しましたが、重藤さんから、「“力づく”はダメよ」と、よく言われていました。「スパコンの計算能力に頼って、メッシュを細かくするだけで解く」というのは、ある意味では“力づく”と言えます。
“力づく”ではなく、便器表面の薄膜流れをどうやって再現するか……。
ソフト開発の技術的な限界、自分自身の限界に気が付き、何らかのブレイクスルーが必要だと感じていました。
そこで一念発起して、2015年4月から3年間、東工大の博士課程に在籍し、研究を進めました。2001年から共同研究をしていた肖先生の研究室です。
――思い詰めた末の、博士課程だったんですね。
池端: 40代後半になって、大学に戻るとは思ってもいませんでした。
会社への貢献が目的とはいえ、博士課程に進むことに理解を示してくれた、当時の上司の方々には感謝しかありません。
――博士課程の研究で、どういった成果が得られたんですか?
池端: メッシュの切り方を変えることに成功しました。
「非構造格子」といって、便器表面に沿わせて薄い格子を自動生成するプログラムを考案しました。
――従来の「直交格子」に比べて、非構造格子では薄い水膜にかかるマス目が増えますね。
池端: 「見たいところの格子を増やせる」のが、非構造格子の強みです。
非構造格子を採用した「バージョン5」では、メッシュ数を大幅に増やすことなく、便器表面の薄膜流れの精度を飛躍的に高めることができました。
バージョン5を使って、課題となっていたネオレストの水流をシミュレーションした結果がこちらです。便器ボウル面の薄膜流れまで、高精度に再現できるようになりました。
――バージョン5では、スパコンを使わなかったんですか?
池端: 使っていません。
バージョン4で培ったスパコン技術(大規模並列計算)を応用して、計算時間の高速化も図っているので、社内の計算環境で動かせます。
大便器の流体シミュレーションについては、バージョン5で一旦完成しました。2001年の開始から17年間かかりましたが、大便器の商品開発に使える実用的なソフトに仕上げることができました。
――それだけ「非構造格子」は効果的だったんですね。
池端: 実際のところは、非構造格子をマスターして、プログラムを組み上げるのに、博士課程の3年間をまるまる費やしました。
実は、卒業する2〜3ヵ月前まで、計算結果が非常に不安定でした。先ほどお話しした“発散”が、なかなか抑えられませんでした。本来は水のスピードが1秒あたり1メートル程度のところを、10メートル、100メートル、1000メートルと、音速を超えるおかしな値になってしまうんです。
博士課程に入って以来、「流体解析計算がうまくいかない。どうすれば結果がよくなるか?」と思い悩む日々が続きました。
――なにか突破口はあったんですか?
池端: 気分転換にと、土曜日は研究から離れて遠出し、トレッキングやウォーキングをして“現実逃避”しました。
その効果は、「現実逃避していても、何も解決しない」という、ごく当たり前の現実を突きつけられるだけでしたが(笑)。
――そんな状態で、どうして博士課程を卒業できたのでしょう?
池端: 結論的には、研究と現実逃避を3年間繰り返した結果、卒業1ヵ月前のギリギリのタイミングで、どうにかプログラムを完成させることができました。
無慈悲なコンピュータに関わる身で言うのもおかしいですが、「神様がなんとかしてくれた」としか言いようがありません。
――「理由はわからないが、結果的にプログラムが安定する」ということがあるんですか?
重藤: ありますね。
佐々木: 例えば、AとBの計算の順番を変えただけで、結果が変わることがあります。
池端: 非構造格子のプログラムが「なぜ安定したのか?」の理屈は、未だに解明できていません。
これは私に残された課題として、佐々木さんたち次世代のCAE技術者にノウハウ伝承するために、きちんと解明します。
佐々木: よろしくお願いします!