Windowsマシン:各種環境でのPython本体の実行速度2025年04月04日 19:01

Windowsでの動作が遅いので、二次要素8万個では使う気になれません
EasyISTR(FrontISTR用のGUIツール)のWindows版は、メッシュ変換などが遅いです。
Windows版は、条件の悪いVirtualBoxのLinuxよりも2倍くらい時間がかかり、六面体2次要素が8万個くらいでいらいらする状態になります。
MSYS2のPython3自体の性能がLinux環境と比べて劣るのかを調査しました。

MSYS2のPython自体は、Windows標準やLinuxの環境と比べて、速度が劣ることはありませんでした。
しかしながら、EasyISTRのコードを確認すると、globやmultiprocessingなどWindows環境では、不利となるモジュールがありました。

Copilotから「WindowsとLinuxの両方で高速に動作させる」ためのアプローチとしては、以下のような方法が考えられますとのアドバイスがありました。
手間がかかる作業だと思いまので、開発者のスタンス次第になると思われます(Linux環境が主でWindowsは入門用 or ユーザーが多い Windowsを中心に考える)。

- OS毎の条件分岐を用いた最適化
- ライブラリの選定・利用
- プロファイリングとボトルネックの特定
- 環境に依存しない設計の見直し

詳細は、Qiitaに投稿した資料をご確認お願いします。
https://qiita.com/HD_mount_Music/items/13113d43c00cfb165de3

***
WSL2の環境は、Shell Scriptにおいても実機に近い速度が得られ高速との報告がありました。

以下URL末尾のまとめ参照
https://hiro20180901.hatenablog.com/entry/2022/02/26/160000

CAEは、スクリプトの実行速度が重要であり、Linuxのスクリプトが高速に動作するWSL2の環境に魅力があります。
ベータ版のWSL用のCAEパッケージが公開されています。

Salome-meca:管理者がSalomeMeca, EDF R&D / ERMESのロゴ入りのパッケージを公開
https://forum.code-aster.org/public/d/28014-salome-meca-20241-on-wsl2-ready-to-use-distribution

Elmer:nix スクリプトによりビルド・インストールするパッケージが公開されている(但し、組み込まれるライブラリが少ないです)
https://github.com/ElmerCSC/elmer-wsl

私は、QiitaやElmerのフォーラムにカスタマイズしたもの(EasyISTR&FrontISTR, Elmer & MMG)を公開しています。
https://qiita.com/HD_mount_Music
https://www.elmerfem.org/forum/viewtopic.php?t=8591

Salomeで作成したPyramid要素を含むメッシュを利用する方法2025年03月27日 19:32

単純な形状であれば、計算精度の良い六面体メッシュ+プリズムでメッシュを切ることができます。
しかし、規則性の無い形状が含まれているときなど、四面体との混合メッシュになることがあります。

Salomeによりメッシュを切ると、六面体と四面体との接続部分にピラミッド要素が作成されます。
ピラミッド要素は、salomeからメッシュをエクスポートするときに標準的に使われるUNV形式が対応していません。

OneLab(Gmsh+GetDP), Elmer, PrePoMaxにおいて、Pyramid要素の取り込み・計算に成功しました。

Gmshは、SalomeのMed形式に対応しているので問題ありません。

Elmerでは、salomeToElmerのスクリプトを利用する方法が安心できます。
https://github.com/jvencels/salomeToElmer

PrePoMaxでは、Gmshにより一度古いGmsh形式(Ver.2, ASCII形式)で保存し、それを読み込みinp形式でエクスポートすれば利用できました。

どのCAEソフトを用いても、精度は問題ありませんが、変換の回数の面でPrePoMaxが不利だと思います。

詳細は、以下のQiitaのページに記載しました。
https://qiita.com/HD_mount_Music/items/ebe01ea83167c0bd6788

Qiitaへの投稿(構造解析用WSLディストロ、1D-CAE)2025年03月23日 17:04

WindowsのParaviewからLinuxフォルダのデータを開く
1.構造解析ソフト(FrontISTR, EasyISTR):Ready-to-Use WSLディストリビューションの紹介

Debian 12をベースにIntel oneAPIのMKLとMPIを組み込んでビルドしたバージョンを既に紹介しましたが、もっとコンパクトにしてほしいとの要望がありました。
ファイルサイズを小さくすることを目指して、FrontISTRの公式サイトのUbuntu 22.04のバイナリファイルを用いて構築することにより、配布用のzipファイル1.4GBとなりました。アップデータが全てバイナリファイルで行うことができるのでお手軽だと思います。

Intel MKLの直接法ソルバー"Pardiso"を使用されるのであれば、従来のソースコードからコンパイルしたものが快適だと思います。

wslのUbuntuにgnome-terminalのバグがありxfce4-terminalに変更しています。
EasyIstrが修正されるまでは、アップデートを行ったときに
/opt/easyIstr/easyistr_main2.pyの17240行目を
comm = "gnome-terminal -- bash --rcfile run &"
→ comm = "xfce4-terminal --command='bash --rcfile run'" に変更する必要があります。

詳細は以下URLに記載しています。
https://qiita.com/HD_mount_Music/items/dec3c980ed82454166c7

2.オープンCAE勉強会【岐阜】への投稿資料
岐阜高専の柴田良一先生が取り組んでいる「オープンCAE」に関する情報を発信している題記のサイトが、2025年3月28日で閉鎖されるとのことです。必要に応じて順次データを移動するとのことですので、再度見ることのできる内容や時期が不明です。

OpenCAE Users Wiki:3月28日まで
http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?OpenCAE%20Users%20Wiki

それ以降の移行先
https://opencae-dalab.org/

小生が発表した資料のうち、現在でも利用価値がありそうなもの(1D-CAE関連資料、フリーソフトによる偏微分方程式計算)の保管庫として、投稿いたします。

詳細は以下のURLに記載していまっす。
https://qiita.com/HD_mount_Music/items/f9172980a7edb7ab1483

MMGなどのライブラリが充実したElmerビルドスクリプト2025年03月20日 18:28

MMGは動的にFEMのメッシュを変形させることができる興味深いライブラリだと感じています。

例えば、小生のXの熱伝導解析を電場解析に変更した例。
https://x.com/HD_mount_Music/status/1900822790200324483

Mmgを利用しているプロジェクトで有名なのは、ElmerとGmsh(どちらもFreeCADにデフォルトで入っています)と思います。

Salomeに慣れてしまったので、Gmshは難しく感じています。
Gmsh and the SDK with pipのバージョンを入れて、ネイティブとPythonの両方から操作できるようにしましたが、挫折の連続です。

ElmerCSCのgithub(elmerfem/fem/tests, elmer-elmag, elmer-linsys)にMMG活用した例があり、どのような機能か試すことができます。
熱伝導解析と静電場解析でした。
https://github.com/ElmerCSC

最初の勉強用としてelmerを用いる敷居を下げたいと思い、スクリプトを整理しました。
また、設定済ですぐに使えるWSLディストリビューションを準備しました。

以前に作ったものは、Intel-MKLのPardisoのためにコンパイルを繰り返し、イメージが膨れ上がって約10GBになってしまいました。
Pardisoはあまり有用でなく、コンパイルが非常に難しくなるので、あきらめて少ない回数のコンパイルとして、膨張を抑えました。

さらに、tarファイルであったものを、tar.gzファイルをzip圧縮することで、最終的にダウンロードするファイルサイズは、約1.8GBになりました。

導入手順は
1. 圧縮ファイル"ElmerWSL_Deb12_202503.zip"を私のOneDriveからダウンロードする。
https://1drv.ms/u/c/ca3fad7a4b4217c1/EWMBXK6DuPJEqKfmEvr3zt0BCFrDRkJ6PX3MSY12qo1suQ?e=nYfOy7

2. 解凍すると、以下のファイルができます(本家のフォーラムを主に考えているの英文です。すいません)。
- "ElmerWSL_Deb12_202503_build_by_Scripts.tar.gz"
- "ReadMe1st.txt"
- "ReadMe1st.md"

3. tar.gzファイルをWSLにインポートする。
           <DistroName>  <InstallLocation>    <InstallTarFile>
wsl --import ElmerWSL-2025 C:\ElmerWSL C:\path\to\downloaded\file\ElmerWSL_Deb12_202503_build_by_Scripts.tar.gz

詳細情報は
Qiita:
https://qiita.com/HD_mount_Music/items/2695e7480c9585aaf632

Elmer本家のフォーラム(英語):
https://www.elmerfem.org/forum/viewtopic.php?t=8590
https://www.elmerfem.org/forum/viewtopic.php?t=8591

EasyIstr (FrontISTR) on WSL2 ディストロ2025年03月19日 18:32

インポートするとすぐに使える題記WSL2ディストロ(Ready to use)を作りました。

エンジニア向けの記述ができるQiitaに投稿しました(これが2件目です)。
Xのアカウントで手抜き登録したので、Xの名前がそのまま引き継がれました。
https://qiita.com/HD_mount_Music/items/e2725bff8ce435fbf1ef

本ブログよりもQiitaのページの方が読みやすいと思います。

要約すると、
操作の体感が速く、Intel-MKLのCluster Pardiso直接法ソルバーが使用でき、アップデートが簡単にできます。

基本的なもの、マニアックなカスタマイズ項目を説明しています。

導入は、zipファイルを解凍して、インポートすることでできます。

ユーザー名: easy パスワード: istr
非常に脆弱なパスワードですので、passwdコマンドにより速やかに変更をお願いします。