cradle

開発背景

開発者インタビュー

開発者インタビュー No.2一貫性のあるインターフェースと、
柔軟に機能追加が行える実装を実現

設立30年以上に渡り、熱流体解析の分野におけるソフトウェアの開発に専念してきたソフトウェアクレイドルが2016年に新たにリリースしたscFLOW®。従来比3倍(最大)の計算スピードと安定性を持つ新ソルバーと、初心者でも複雑なモデル構築と高品質なメッシュ作成が可能な新プリプロセッサーを搭載し、同社の次世代ソフトウェアとして今後もさらなる進化を遂げる予定だ。今回は、scFLOW®プリプロセッサーの開発を担当した開発部水野に開発背景について聞いた。

株式会社ソフトウェアクレイドル  開発部 水野 高志
株式会社ソフトウェアクレイドル 開発部水野 高志

開発の背景を聞かせてください

scFLOW開発の初期段階において、新プリプロセッサーとしては二つの方針が検討されました。一つは従来の非構造格子系ソフトウェアであるSCRYU/TetraのプリプロセッサーをscFLOW向けに調整する方針、もう一つはユーザーインターフェースを一新して新プリプロセッサーを作る方針です。当然、新プリプロセッサーを作るほうが開発にかかる工数は多くなるのですが、インターフェースを一新するという方針を選びました。

大きな理由として、SCRYU/Tetraのプリプロセッサー自体も刷新が必要な時期に来ていたという背景があります。SCRYU/Tetraにはモデルモード、Primeモードという二つのモデル作成機能があり、操作感が大きく異なる点が問題視されていました。

また、CADthruという別ソフトによるモデル作成機能も用意されており、何らかの形で機能を集約するべきと考えていました。そのため、SCRYU/Tetraのプリプロセッサーを流用して課題を引き継いでしまうよりも、scFLOWの開発を良い機会として統一感のある新インターフェースを目指したほうが良いと判断してscFLOWのプリプロセッサーの開発が開始しました。
インターフェースの刷新により、SCRYU/Tetraでは互換性の問題で変更できなかった部分にも手を入れることが可能にになりました。そこで、初心者向けのわかりやすさを重視した機能向上を行っています。具体例としては、CADの部品をそのまま扱うことのできる条件設定やメッシュ作成の簡易設定の追加、デフォルト条件の見直しなどを行っています。

初心者向けというのはscFLOWのプリプロセッサーの主題となっており、今後のバージョンアップ版も流体解析に馴染みのないユーザー様でも直観的に操作できることを目標に開発を続けております。

scFLOW® Preprocessor ロゴ
scFLOW® Preprocessor ロゴ

scFLOW®開発背景

水野さんは、scFLOWの開発において、どの部分を担当されたのですか?

scFLOWプリプロセッサーの機能はCADソフトなどで作成された形状を読み込み、解析に適したモデルに調整する機能、解析用の条件を設定する機能、メッシュを作成する機能などから成り立っています。プリプロセッサー全体はチームで開発されており、私自身は各機能をスムーズに連携させるための土台部分の設計、実装を行いました。

苦労した点や、工夫したポイントなどがあればお聞かせください

既存の複数機能をいかにまとめるかという点で苦労がありました。SCRYU/TetraやCADthruで十分な実績のある機能、ノウハウを可能な限り組み込んではいますが、新しく開発したという経緯もあり、一つのソフトとして動作させるまでには長い時間がかかりました。

苦労した甲斐もあり、最終的には一貫性のあるインターフェースやヒストリーといったものを実現できました。また、複数の機能を統合するという前提のソフトになっていますので、今後においても柔軟に機能追加が行えるようになっています。この点に関しては今後の開発で生かしていく予定です。

scFLOW®の主な特長はどのようなところでしょうか

図1 ポリヘドラル(多面体)メッシュ
図1 ポリヘドラル(多面体)メッシュ

大まかに4項目に分けて紹介します。

(1) メッシャーの機能として、ポリヘドラル(多面体)メッシュ(図1)を作成できるというところが最大の特徴です。

SCRYU/Tetraのテトラメッシャーをベースに開発しているので、これまでのノウハウを生かしたものになっています。メッシュ作成の手順はSCRYU/Tetraと同じく、八分木による粗密設定をして、それに従ってメッシュを切るというものですが、それぞれに簡易設定を追加しています。流体解析のメッシュ作成では壁(部品と流体の境界)において細かく、厚みの揃った境界層要素(プリズム要素)を挿入することが解析精度と安定性の向上につながります。簡易設定はそのような流体解析に適したメッシュを簡単に作成できる機能となっています。八分木作成では目標要素数のみを指定して自動作成を行う機能を追加しました。八分木の簡易設定を使用すると、壁の部分にのみ細かい要素が作成されます。メッシュ作成の簡易設定についても壁の部分にのみ境界層要素が自動で挿入されるというものになっています。

(2) モデル作成の機能にはSCRYU/TetraのPrimeモードおよびCADthruの機能を導入しています。

そのため、これまでと同じ手順で部品形状の修正などを行うことができます。特に重要な点として、解析モデルを構築するためのウィザード画面(MDLウィザード・図2)を用意しています。このMDLウィザードはSCRYU/Tetraでも採用していましたが、scFLOWに向けて機能強化を行っています。プレビューや微細面の除去などの新機能により、スムーズに解析モデルを構築することができます。

図2 MDLウィザード画面
図2 MDLウィザード画面
解析モデル構築はMDLウィザードによる実行が可能です

(3) 解析条件の設定機能は全く新しいものとなっています。

方針としてはCAD情報を生かす方向で機能強化しています。SCRYU/Tetraでは部品(閉空間)や物性に番号が振られており、その番号を指定して条件設定を行う必要がありました。scFLOWではそれらの番号を意識することなく物性や条件をCAD部品に直接設定することが可能になっています。また、不連続接合を行う面や回転移動の回転軸などを部品形状から自動で認識する機能も追加されています。初心者向けの機能として、デフォルト条件の調整を行っています。例えば、流体と固体の境界をノースリップに設定し、全ての空間にデフォルト温度の初期条件を与えます。これらにより条件設定の手間が大幅に軽減しています。その他にも技術的な用語を平易な表現に改めるなど、文言、手順の見直しを行い、より直感的な設定を可能にしています。

(4) プリプロセッサー全体としては、目標であった部品読み込みからメッシュ作成まで一貫性のあるインターフェースを実現しています。

すべての工程をナビゲーション(図3)という形でまとめてありますので、全体の流れを把握して迷わずに操作ができるようになっています。

また、インターフェースの統一により部品形状、八分木、メッシュといった各データの比較が容易になっています。

部品とメッシュが直接関連づいているので、部品に相当するメッシュを簡単に確認できます。ファイルの構成もシンプル化を図っています。SCRYU/Tetraでは部品形状、八分木、メッシュ、解析条件、メッシュ作成設定などが個別のファイルだったのですが、scFLOWでは単一のプロジェクトファイルに集約しています。これによりデータの管理や条件の確認などがスムーズかつ間違い難くなっています。最後に、ヒストリー機能も一新しました。プリプロセッサーでの操作はVBScriptのヒストリーとして保存されます。ヒストリーはそのまま再生することも可能ですし、プリプロセッサーをVBインターフェースで操作する際の実装例として参考にしていただけます。

どのようなお客様に利用いただきたいですか?

操作、設定が簡単になっていますので、今まで流体解析に馴染みがなく、これから解析を始められるお客様に活用していただきたいと考えています。SCRYU/Tetraは弊社STREAMと比較して敷居が高いと言われることがあったのですが、scFLOWは流体解析に馴染みがなくても十分使用できるようにと設計しています。構造格子系のSTREAMと比較するとメッシュの作成に注意が必要ではありますが、設定手順そのものは同程度まで簡単になっています。

図3 ナビゲーションウィンドウ
図3 ナビゲーションウィンドウ

もちろん既にSCRYU/Tetraに親しんでいるユーザー様にも新しいプリプロセッサーとして活用していただければと考えています。インターフェースは変更しましたが設定項目そのものは大きな変更がありませんので、特に違和感なく移行していただけるものと思います。SCRYU/Tetraの解析データをそのままscFLOWで利用する場合、モデル(MDLファイル)、八分木(OCTファイル)、メッシュ(PREファイル)は直接scFLOWのプリプロセッサーに読み込むことができます。解析条件(Sファイル)については、移行用のツールをご使用いただくことで利用可能になります。

利用することでのメリットや注意点などあれば教えてください

メリットとしては設定の簡易さが最大のポイントかと思います。シンプルなモデルに関しては物性値の設定や、流入、流出条件程度の最小限の設定で解析を行うことが可能です。設定するべき項目が少ないことに加え、部品と条件、部品とメッシュの関連がわかりやすいため、スムーズに解析実行まで辿り着けると考えています。

注意点としては、開発期間の関係で、一部の発展的な機能についてはリリース後に順次対応することになりました。弊社HPで修正版を配布しております。すでにかなりの機能が追加されておりますので、お手数をおかけしますが修正版への更新をお願いいたします。また、操作をシンプルにするためSCRYU/Tetraから除外された機能もいくつか存在します。特にSTLなどのパッチデータを編集する機能が抜けていることにご注意ください。不足している機能は次バージョン以降に順次対応する予定となっております。

写真2 取材日当日に同席していたプリプロセッサー開発メンバー
写真2 取材日当日に同席していたプリプロセッサー開発メンバー

今後の開発予定などあればお聞かせください

次バージョンでは掃引メッシュや並列メッシングなどSCRYU/Tetraで可能であったことを一通りサポートする予定です。新機能としては手順が複雑な問題、特にラッピング、不連続接合、重合格子が関連する解析について、スムーズな操作手順を提供する予定です。メッシャーやモデル構築などの基盤技術についても引き続き高速化、ロバスト化、品質向上を行っていきます。インターフェース側でも大規模データの処理を見直し、操作感や安定性の向上を行います。

最後にユーザー様へひとことお願いします

繰り返しになりますが、修正版にて大きな機能追加を行っております。ご使用の際には最新版への更新をぜひお願いいたします。また、新しいソフトという立ち位置になりますので、次バージョンでも柔軟に新機能の追加や仕様の調整を行う予定です。ご意見、ご要望も反映しやすい環境にありますので、フィードバックをいただけましたら幸いです。

scflow-logo開発者インタビュー