2021年4月11日日曜日

FreeCADの構造解析(CalculiX)を並列化する方法

 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並列以降は逆に実行時間が増加しています.これは,並列処理時のスレッド間通信などが幾何級数的に増加し,実行時間に影響を与えているためと考えられます

条件:
OS:Windows10,2004
CPU:Core i7 10700K(8コア16スレッド)
FreeCAD:バージョン0.19,リビジョン 4276
ソルバー:CalculiXの構造解析




1 件のコメント:

  1. FreeCADのCalculiXで構造解析を勉強しています。並列化の手法について調べていました。
    非常に参考になりました。

    返信削除