FreeCADはフリーの3DCADで,簡易的な構造解析や熱伝導解析ができます.以下は,Windows環境でCalculiXを使用した構造解析を並列化する方法です.
まず,FreeCADの設定メニューにはFEMの並列化設定(CalculiXタブのNumber of CPU's to use)の項目があるのですが,少なくともバージョン0.19ではこの設定が解析実行時に反映されません.例えば,設定メニューから並列数を4にしても実行時はUsing up to 1 cpuと表示されます.タスクマネージャのCPU使用率を見ても1CPUしか使われていませんでした.
設定メニューで4CPUに設定しても
実行時のログには1CPUと表示される.
解析の並列化を行うには環境変数に変数名”OMP_NUM_THREADS”を追加し,値に並列数を入力します.下図ではシステム環境変数に追加していますが,ユーザ環境変数でもかまいません.
環境変数追加後,FreeCADを起動して解析を実行すると以下のように並列化されます.
ここから先は,解析の並列化数と実行時間の関係を調べた結果です.
下のグラフより,並列数が増えるほど実行時間は短くなっていきますが,次第に並列化の効きが悪くなり8並列以降は逆に実行時間が増加しています.これは,並列処理時のスレッド間通信などが幾何級数的に増加し,実行時間に影響を与えているためと考えられます.
FreeCADのCalculiXで構造解析を勉強しています。並列化の手法について調べていました。
返信削除非常に参考になりました。