Skip to Main Content

      

Ansysブログ

November 15, 2022

Pythonの世界からAnsysの力にアクセス

Pythonは、世界で最も人気のあるプログラミング言語であり、Pythonエコシステムには、開発者が自由に使用して新しいソリューションを作成できるオープンソースのコードライブラリが豊富に含まれています。PyAnsysコードライブラリは、開発者がAnsysベースのシミュレーションをPythonベースのプロジェクトに統合できるようにすることで、新たな地盤を切り拓きます。

シミュレーションは、次のように見ることもできます。シミュレーションは、実際のタスクを実行したときと同じような知見を得られます。高価なプロトタイプを作成または破壊することなく、さまざまな応力をテストできます。新しい設計の特性(熱、電気、流体など)は、実際の温度、圧力、電流、または流れを再現することなく調査できます。実際に経験を積まなくても、経験から得られるであろう知見を得ることができます。これは、50年や100年といった時間がかかる、あるいは数百万ドルのプロトタイプを破壊しなければ得られない知見を得る場合に、特に有用です。

シミュレーションによって可能になった世界で実行する必要がある現実のタスクは、シミュレーション自体の構成、実行、および結果の共有に関連する手動タスクだけです。

しかし、PyAnsysや、デジタルスレッドを接続するAnsysの他のソリューションにより、それも変わりつつあります。

PyAnsysは、Pythonパッケージのファミリーであり、MAPDLやAEDTなどを含め、Ansysの製品をこれまでにない方法で利用できるようになります。このパッケージは、Ansysのシミュレーションスタックを使用して、多岐にわたるマルチフィジックスシミュレーションの実行をスクリプト化するだけでなく、他の自動化された操作にシミュレーションを組み込むワークフローをスクリプト化することもできる、最新のプログラマブルインターフェースをユーザーに提供します。 

3D polar plot of antenna array output using PyAEDT

PyAEDTを使用したアンテナアレイ出力の3D極座標プロット

なぜPythonなのか

では、なぜPythonを使用するのでしょうか。Ansysパラメトリック設計言語(APDL: Ansys Parametric Design Language)では、Ansysの製品と対話するための広範なスクリプト機能と制御機能を長年提供してきました。各ユーザーは、シミュレーションのセットアップ、実行、ポスト処理を容易にするスクリプトをAPDL(またはAPDLに基づいて開発された有限要素法解析プログラムであるMechanical APDL(MAPDL))で記述できます。Ansysカスタマイズツールキット(ACT: Ansys Customization Tool Kit)には、Ansys Mechanicalでシミュレーションを制御および自動化するための機能も用意されています。しかし、以前はそれだけでした。これらのツールのスクリプト機能は、ツール内からのみ使用できました。APDL、MAPDL、ACTの外部からAnsysの製品を使用して、プログラム的に対話するメカニズムは存在しませんでした。

しかし、2016年にPythonの開発者でAnsys MAPDLユーザーでもあったAlex Kaszynski氏が、Pythonを使ってMAPDLと対話できるようにするコードライブラリを作成したことで、状況が変化しました。Python言語は学校で広く教えられ、無数の開発者に熱心に受け入れられています。Pythonエコシステムには、開発者が独自のアプリケーションを作成するために利用できるパブリックおよびプライベートのコードリポジトリが豊富にあります。Kaszynski氏は、PyMAPDLと呼ばれる独自のコードライブラリを、オープンソースのオンラインコードリポジトリであるGitHubに投稿し、興味を持ったユーザーがダウンロードして、MAPDLを使用するプロジェクトにその機能を組み込めるようにしました。 

これを多数のユーザーがダウンロードしました。PyMAPDLは、ユーザーが無料で利用できるようになりましたが(Ansys MAPDLを使いたいユーザーはそのアプリケーションのライセンスを取得する必要がありましたが)、すぐにAnsysのユーザーはAnsysのシミュレーションスタックとよりプログラム的に対話できるようにしたいと強く望んでいることが明らかになりました。

Ansysは、この強い要望を受け、Kaszynski氏を雇い、彼が始めた取り組みを続けることを奨励しました。  

Exhaust manifold mesh postprocessing using  PyFluent

PyFluentを使用した排気マニフォールドメッシュのポスト処理

PyFluent postprocessing  showing an iso-surface of the velocity of flow in an exhaust manifold

排気マニフォールド内の流速のアイソサーフェスを示すPyFluentでのポスト処理

よりPython的に前進

その取り組みは現在も続いています。この記事の執筆時点で、GitHubのPyAnsysページには、Ansysの製品と「Python的に」対話するために使用できるさまざまなパッケージが用意されています。

  • エレクトロニクスシミュレーション: PyAEDT
  • 固体力学シミュレーション: PyMAPDL
  • 流体シミュレーション: PyFluent、PyFluent-Parametric、PyFluent-Visualization
  • ポスト処理: PyDPF-Core、PyDPF-Post
  • 材料管理Granta MI BOM分析

さらに、GitHubのPyAnsysページでは、パッケージの相互運用性を促進し、メンテナンスを最小限に抑えるための共有コンポーネントへのアクセスを提供しています。

Pythonエコシステムは、ユーザーがカスタマイズされたユーザーインターフェース(UI)を使用してウェブアプリケーションを作成できるコードライブラリを提供しているため、PyAnsys製品は、それらのカスタマイズされたUIから簡単に呼び出すことができます。これにより、ユーザーが個々のAnsysの製品に関連付けられたUIに精通している必要がないため、PyAnsysベースのプロジェクトは非常に使いやすくなります。いくつかの異なるAnsysのシミュレーションツールにアクセスするPythonスクリプトでさえ、自動化されるワークフローに関連するオプションと入力要件のみを持つUIをユーザーに提示できます。

GitHubコミュニティは、PyAnsysベースのプロジェクトを他の人が使用できるようにアップロードすることに積極的であり、Ansysはプロジェクトをレビューし、開発者と協力して新しいPyAnsysパッケージに彼らのアイデアを組み込む取り組みを行っています。パッケージは(完全なドキュメントとコード例とともに)、MITライセンスの下でオープンソースライブラリとしてGitHubで提供され続けています。

さらに、Ansys Developer Experienceは、より広範な開発者エコシステムがAnsysと対話することを奨励し、可能にするように設計されたデジタルプラットフォームとして導入されました。このプラットフォームには、開発者ポータル、ピアツーピアのディスカッションフォーラム、開発者がすぐに開始して実行できるようにするためのAnsysのドキュメントとツールへのアクセスが含まれています。Ansysが、新しいAnsysテクノロジーを使用して開発者をサポートするための専用プラットフォームとリソースを提供するのは今回が初めてです。Developer Experienceは、関連するリソースに簡単にアクセスしてテクニカルサポートを受けることで、ユーザーエクスペリエンスを向上させながら、開発者エコシステムの成長と成熟を促すことを目的としています。 

MAPDL volume plot of a lathe cutter

旋盤カッターのMAPDLボリュームプロット

MAPDL modal principal stresses of lathe cutter

旋盤カッターのMAPDLモーダル主応力

実世界でのメリット

世界中のユーザーにとって、PyAnsysは具体的なメリットをもたらします。たとえば、ドイツのシステム設計およびエンジニアリング会社であるBewind社のエンジニアリングチームは、PyAnsysを使用してカスタマイズおよび自動化されたワークフローを作成し、風力タービン翼の疲労をより正確かつ効果的に評価しています。このアプローチにより、Ansysソルバーの予測精度を利用して、翼の構造健全性と動作効率を検証することで、時間とコストを大幅に節約することができます。

他の企業はすでにPyAnsysを使用して、機械学習(ML)や人工知能(AI)システムのトレーニングに使用される可能性のある、反復的で複雑なシミュレーションを自動化しています。そのようなシステムをトレーニングするには何千ものシミュレーションが必要であり、Pythonスクリプトを使ってプログラム的に実行を管理できれば、シミュレーションの実行と解析の管理が非常に簡単になります。また、目新しさがなくなった複雑なタスクの不完全な繰り返しによって発生するヒューマンエラーの可能性を減らすために、繰り返し行うシミュレーションがまったく同じ方法で実行されるようにするために、PyAnsysを採用している企業も存在します。

さらに、Pythonを使用してプロセスを統合する機能により、エンジニアは活動の実行方法を再考する機会を得ることができます。別々のリソースを使用して、複雑なワークフローを並行して実行できるタスクに分割することで、Pythonスクリプトはワークフローを完了するのに必要な時間を劇的に減らすことができます。これまでは、構造チーム、流体チーム、熱チームの間で継続的な調整と引き継ぎが必要だったアクティビティ(従来はそれぞれ異なるツールでシミュレーションを順次実行していた)は、スクリプトとして記述できるようになりました。このスクリプトは、接続されたデジタルスレッド内の他のソリューションと組み合わせて使用し、すべてのチームが必要とする情報を提供できます。

エンドユーザーと開発者の両方にとって、PyAnsysパッケージの利用可能性と、Ansysのシミュレーションをより広範な活動エコシステムに組み込む機能は、新たな扉を開きます。今日、多くの組織がPyAnsysを使用して既存のプロセスを自動化しています。これらは既知のプロセスであり、特定の方法で実行する必要があるため、理にかなっています。しかし、PyAnsysはまた、Ansysのシミュレーションスタックをこれまで試したことのないワークフローに統合する機会を生み出します。PyAnsysは、相互接続されたイノベーション、そして最終的にはデジタルトランスフォーメーションを可能にするAnsysのもう1つのテクノロジーです。

Ansys Developer Experienceサイトにアクセスできます。