バージョン情報
PFC5.0の新機能
パフォーマンスの向上
- 自動的なマルチスレッド計算に対応したため、マルチコアのPCでのパフォーマンスが劇的に向上しました。データファイルの修正やコマンドの追加をすることなく、自動的にコアを配置しモデルを高速に計算することができます。
- マルチスレッドでの空間認識と接触判定により、複雑な粒径分布や高速な流れ場の問題を高速に解くことができるようになりました。
- 壁のロジックがより能率的に改良され、計算時間の高速化が可能になりました。
- クランプの作成機能を拡張したブリックにより、粒子やクランプ条件の複製が容易で効率的になりました。これにより大規模で圧縮されたモデルの作成時間が大幅に減少します(Potyondy, 2012)。ブリックはライブラリに保存ができ、別のモデルで再利用することも可能です。
簡単になったモデル作成
- 新しいContact Model Assignment Table (CMAT)は、レンジロジックを使用した複雑なFISH関数を使用することなく自由に接触モデルを作ることを可能にします。接触が生成されると、CMATは接触モデルとその特性(2つの接触面から作成)を提供します。結果として、不均質な要素特性を含む複雑なモデルを容易な方法で統合的に扱うことができるようになります。
- 改良されたクランプロジックにより、複雑な形状のモデリングが容易になります。クランプのテンプレートがインポートしたサーフェスデータ(DXF、STLなど)からBubblePackアルゴリズムにより自動的に作成されます。クランプの慣性特性は計算、もしくはユーザーが指定することができます。クランプは粒子の塊として可視化され、その表面は視覚的にも自然なフォルムになっています。
- 粒子/クランプの生成方法の改良により、より複雑な粒子やクランプの形状作成が可能になりました。ユーザーは粒径分布を含めた1つのコマンドで、指定した粒径分布とポロシティを満たす形状を作成することができます。
- 周期的な空間ロジックは粒子、クランプ、全ての接触モデルに適用されます。周期的な空間ロジックは流れのシミュレーションにおいて境界の影響を軽減する事が可能です。それに加えて、圧縮されたブリックもターゲットとする領域のみに生成することも可能です。
使いやすいインターフェース
- 以下の機能が改良されたGUIを用意しました。
- 高速な可視化機能(OpenGLを使用)
- プロットアイテムとレンジフィルターの選択
- 組み込みのテキストエディター:コマンド、FISH関数をハイライトで表示
- 組み込みのファイルエクスプローラー
- データやセーブファイルを操作するための組み込みウィンドウ
- UNDOコマンドの使用が可能になりました
- オンラインヘルプがわかりやすく、検索しやすくなりました。
より強力になったFISH
- 強化されたFISH言語とFISHライブラリはモデル変数へのアクセスを高速にしました。今後はデータファイルの作成の手間が簡単になります。
- FISH言語は以下の機能を改良しました。
- 関数の引数
- ローカル変数とグローバル変数
- インラインFISH:FISH内在の関数と数式をコマンド内で使用可能
- 行列と行列関数
- FISHデバッガー
- FISH変数のエクスプローラーが使えるようになりました。これによりモデル作成時、および計算中のFISH変数の値のチェックができるようになりました。
壁要素の改良
- 壁はサーフェスデータ(DXFやSTLなど)をインポートすることで自動的に生成することができます。
- 壁のロジックは凹面や凸上の端での接触判定を正確にできるようになりました。
強化された Synthetic Rock Mass (SRM) ツール
- 新しいDiscrete Fracture Network (DFN)ロジックは破壊統計(例:P10走査線測定など)を基にして確率的にDFNを自動作成する仕組みです。
- DFNはインポート、エクスポート、フィルタリングができます。
- DFN特性と測定結果はカラーコンターで亀裂に沿って簡単に可視化することが可能です。
- このロジックはSynthetic Rock Mass (SRM) の機能(Pierce and Fairhurst, 2012)を提供するためにPFC5.0から取り入れられました。
- ステレオ投影とロゼットプロットが追加されました。
非接触粒子間の相互作用
- 粒子間の長距離(接触していない場合も含む)の相互作用が考慮できるようになりました。これによりモデル化できる現象の幅が広がります。
- ユーザーは接触による相互作用が及ぶ範囲を指定することが可能になりました。したがって距離が離れている(接触していない)粒子間の力やモーメント(電磁気力、重力など)を計算することが可能になります。
Pythonとの統合
Pyson(パイソン)は科学分野、数値解析分野に対して有効な多目的のオープンソースプログラミング言語です。
PFCのPythonとの統合により、PythonスクリプトからPFCモデルを操作することができるようになりました。
PythonファイルやIpythonコンソールでPFCを制御することができるだけでなく、matplotlibを使ったグラフ描画、数値計算用の拡張モジュールNumpy、SciPyの使用、PySideを使用したカスタムメイドのGUIを構築することも可能です。
オプションとアドオン
PFC5.0では以下のオプションとアドオンをご提供いたします。
サーマルオプション
サーマルオプションは要素の接触時の熱の流れとそれに続く熱による変位と力を計算します。サーマルモデルは力学モデルと別個に計算されカップリングされます。PFC5.0では以下のオプションとアドオンをご提供いたします。熱歪みは粒子とボンディング要素両方の熱から求められます。また、壁に温度を指定することができ、これは熱境界条件として作用いたします。
C++ Plug-in オプション
C++ plug-inオプションは以下の2つのコンポーネントをご提供いたします。
The C++ User-Defined 接触モデル
PFCは新しい接触モデルをご提供いたします。接触モデルは、接触時の力と変位の応答で表現されています。各計算サイクルにおいて、PFCは各接触モデル(接触する2つの物体の関連性のある情報をやり取りする)を読み込み、2つの接触する物体の同方向及び反対方向の力とモーメントを更新します。ユーザー定義の接触モデルはC++で書かれ、PFCのシミュレーションで必要となるときにいつでも使うことができるDLL(dynamic link library)としてコンパイルされます。DLLのコンパイルにはVisual Studio 2010 C++コンパイラーが使われています。PFCの全ての接触モデルのソースファイルはユーザーに開示されています。このコンポーネントはユーザーが特定の問題に関連する物理過程を自由に組み込むことを可能にします。
The C++ User-Defined FISH Intrinsics
PFCシミュレーションにおいて独自に作成したC++コードを使えるようにします。ユーザー定義のFISHはC++で書かれ、PFCのシミュレーションで必要となるときにいつでも使うことができるDLL(dynamic link library)としてコンパイルされます。DLLのコンパイルにはVisual Studio 2010 C++コンパイラーが使われています。PFCの全ての接触モデルのソースファイルはユーザーに開示されています。このコンポーネントは選ばれたFISH関数に置き換えられるので、特に大規模なモデルにおいて相当なスピードアップが可能です。