FEMワークベンチ(FreeCAD公式ドキュメントの和訳)
FEM Workbench(原文リンク)
このページの原文の最終更新日時は 2022年12月26日 (月) 22:10 です。
このページのFreeCADのドキュメントの和訳は、原文と同じく、Creative Commons Attribution ライセンスで利用できます。
序文
Introduction
FEMワークベンチは、FreeCADのための最新の有限要素解析(FEA)ワークフローを提供します。
これは主に、分析を行うためのすべてのツールが、1つのグラフィカル・ユーザー・インターフェイス(GUI)にまとめられていることを示しています。
ワークフロー
Workflow
有限要素解析を実行する手順は、次の通りです:
- 前処理:分析問題の設定。
- ジオメトリのモデリング:FreeCADでジオメトリを作成するか、別のアプリケーションからインポートします。
- 分析の作成。
- 荷重や固定支持などのシミュレーション拘束を形状モデルに追加します。
- 幾何モデルの部品にマテリアルを追加します。
- 幾何モデルの有限要素メッシュを作成するか、別のアプリケーションからインポートします。
- 解析する:FreeCAD内から、外部のソルバーを実行します。
- 後処理:FreeCAD内から解析結果を視覚化するか、別のアプリケーションで、後処理できるように結果をエクスポートします。
FEMワークベンチは、Linux、Window、Mac OSX上で使用できます。ワークベンチは、外部のソルバーを利用するため、手動設定の量は、あなたが使用しているオペレーティング・システムによって異なります。外部ツールの設定手順については、FEMインストールを参照してください。
FEMワークベンチのワークフロー; ワークベンチは、2つの外部プログラムを呼び出し、ソリッド・オブジェクトのメッシュを実行し、有限要素問題の実際の解析を実行します。
Menu: Model
- 分析コンテナ (Analysis container):力学解析のための新しいコンテナを作成します。クリックする前に、ソリッドが、ツリー・ビューで選択されている場合、次に、メッシュ・ダイアログが、開かれます。
マテリアル(Materials)
- ソリッドのためのマテリアル(Material for solid):あなたは、データベースからソリッド・マテリアルを選択できます。
- 流体のためのマテリアル(Material for fluid):あなたは、データベースから流体マテリアルを選択できます。
- 非線形の機械マテリアル(Nonlinear mechanical material):あなたは、非線形の機械マテリアル・モデルを追加できます。
- 補強マテリアル(コンクリート)(Reinforced material (concrete)):あなたは、データベースから母体と補強材で構成される補強マテリアルを選択できます。
- マテリアル・エディタ(Material editor):あなたは、マテリアル・エディタを開いてマテリアルを編集できます。
要素の形状(Element Geometry)
- 梁の断面(Beam cross section):梁要素のために断面を定義するために使用されます。
- 梁の回転(Beam rotation):梁要素の断面を回転させるために使用されます。
- シェル板厚(Shell plate thickness):シェル要素の厚さを定義するために使用されます。
- 1Dフローのための流体断面(Fluid section for 1D flow):空気圧および油圧ネットワークの流体セクション要素を作成するために使用されます。
静電拘束(Electrostatic Constraints)
- 静電位拘束(Constraint electrostatic potential):静電位を定義するために使用されます。
流体拘束(Fluid Constraints)
- 初期流速拘束(Constraint initial flow velocity):ボディ(ボリューム)の初期流速を定義するために使用されます。
- 初期圧力拘束(Constraint initial pressure):ボディ(ボリューム)の初期圧力を定義するために使用されます。バージョン1.0で導入されました。
- 流速拘束(Constraint flow velocity):エッジ(2D)、あるいは、面(3D)での境界条件として、流速を定義するために使用されます。
幾何学的な拘束(Geometrical Constraints)
- 拘束面の回転(Constraint plane rotation):平面上の平面回転拘束を定義するために使用されます。
- 拘束断面の印刷(Constraint section print):事前定義された面の出力変数 (力とモーメント) を、datファイルに出力するために使用されます。バージョン0.19で導入されました。
- 拘束変換(Constraint transform):面上の変換拘束を定義するために使用されます。
機械的拘束(Mechanical Constraints)
- 固定拘束(Constraint fixed):点/エッジ/面に、固定拘束を定義するために使用されます。
- 変位拘束(Constraint displacement):点/エッジ/面に、変位拘束を定義するために使用されます。
- 接触拘束(Constraint contact):2つの面の間の接触拘束を定義するために使用します。
- 結合拘束(Constraint tie):2つの面の間の結合拘束("結合接触")を定義するために使用します。バージョン0.19で導入されました。
- ばね拘束(Constraint spring):ばねを定義するために使用されます。バージョン0.20で導入されました。
- 加重拘束(Constraint force):定義可能な方向で選択可能な面に均一に適用される [N] 単位の力を定義するために使用されます。
- 圧力拘束(Constraint pressure):圧力拘束を定義するために使用されます。
- 拘束中心(Constraint centrif):遠心力による本体荷重の拘束を定義するために使用されます。バージョン0.20で導入されました。
- 自重拘束(Constraint self weight):モデルに作用する重力加速度を定義するために使用されます。
熱拘束(Thermal Constraints)
- 初期温度拘束(Constraint initial temperature):ボディの初期の温度を定義するために使用されます。
- 熱流束拘束(Constraint heatflux):面の熱流束拘束を定義するために使用されます。
- 温度拘束(Constraint temperature):点/エッジ/面上の温度拘束を定義するために使用されます。
- ボディ熱源拘束(Constraint body heat source):内部で生成されたボディの熱を定義するために使用されます。
ソルバーを使用しない制約(Constraints without solver)
- 流体境界条件(Fluid boundary condition):流体境界条件を定義するために使用されます。
- ベアリング拘束(Constraint bearing):関係制約を定義するために使用されます。
- 歯車拘束(Constraint gear):歯車拘束を定義するために使用されます。
- プーリ拘束(Constraint pulley):プーリ拘束を定義するために使用されます。
定数の上書き(Overwrite Constants)
- 真空誘電率定数(Constant vacuum permittivity):真空の誘電率をカスタム値で上書きするために使用します。バージョン0.19で導入されました。
Menu:メッシュ
Menu: Mesh
- Netgenによる形状からのFEMメッシュ(FEM mesh from shape by Netgen):Netgenを使用して、モデルの有限要素メッシュを生成します。
- Gmshによる形状からのFEMメッシュ(FEM mesh from shape by Gmsh):Gmshを使用して、Modelの有限要素メッシュを生成します。
- FEMメッシュ境界層(FEM mesh boundary layer):境界の近くの正確な計算のための異方性のメッシュを作成します。
- FEMメッシュ領域(FEM mesh region):解析時間を大幅に最適化する、メッシュ化する局所領域を作成します。
- FEMメッシュ・グループ(FEM mesh group):メッシュの要素 (頂点、エッジ、サーフェス) をまとめてグループ化し、ラベルを付けます。メッシュを外部ソルバーにエクスポートするのに役立ちます。
- 点集合(Nodes set):FEMメッシュから点集合を作成/定義します。
- FEMメッシュからメッシュへ(FEM mesh to mesh):FEMメッシュのサーフェスをメッシュに変換します。
Menu:解析
Menu: Solve
- ソルバーCalculiX標準(Solver CalculiX Standard):この分析のための新しいソルバーを作成します。ほとんどの場合、ソルバーは、分析と一緒に作成されます。
- ソルバーCalculiX(新しいフレームワーク)(Solver CalculiX (new framework)):
- ソルバーElmer(Solver Elmer):Elmerのためのソルバー・コントローラを作成します。それは、他のソルバー・オブジェクトから独立しています。
- ソルバーMystran(Solver Mystran):バージョン0.20で導入されました。
- ソルバーZ88(Solver Z88):Z88のためのソルバー・コントローラを作成します。それは、他のソルバー・オブジェクトから独立しています。
- 弾力方程式 (Elasticity equation):ソルバーElmer(Solver Elmer)が、力学的解析を実行するための式。
- Electricforce方程式(Electricforce equation):表面の電気力を計算するソルバーElmerのための式。バージョン0.19で導入されました。
- 静電的な方程式(Electrostatic equation):ソルバーElmer(Solver Elmer)が、静電解析を実行するための式。
- 流量方程式(Flow equation):ソルバーElmer(Solver Elmer)が、流れ解析を実行するための式。
- 流動方程式(Flux equation):ソルバーElmer(Solver Elmer)が、流動分析を実行するための式。
- 熱方程式(Heat equation):ソルバーElmer(Solver Elmer)が、伝熱分析を実行するための式。
- ソルバー・ジョブ制御(Solver job control):選択したソルバーを調整および開始するためのメニューを開きます。
- ソルバー計算を実行する(Run solver calculations):アクティブな解析の選択したソルバーを実行します。
Menu:結果
Menu: Results
- 結果を除去する(Purge results):アクティブな分析の結果を削除します。
- 結果を表示する(Show result):分析の結果を表示するために使用されます。
- 変更をパイプラインに適用する(Apply changes to pipeline):パイプラインとフィルターへの変更が、すぐに適用されるかどうかを切り替えます。
- 結果からのポスト・パイプライン(Post pipeline from result):FEM解析結果の新しいグラフィック表現を追加するために使用されます (カラー スケールとその他の表示オプション)。
- ゆがみフィルタ(Warp filter):モデルのスケーリングされた変形形状を視覚化するために使用されます。
- スカラー・クリップ・フィルタ(Scalar clip filter):指定されたスカラー値で、フィールドをクリップするために使用されます。
- 機能カットフィルター(Function cut filter):球体や平面上に切抜いたモデルに、結果を表示するために使用されます。
- 領域クリップ・フィルタ(Region clip filter):球体や平面上に切抜いたモデルで、フィールドを切り抜くために使用されます。
- Line クリップ・フィルタ(Line clip filter):指定された線に沿ってフィールドの値をプロットするために使用されます。
- 応力線形化プロット(Stress linearization plot):応力線形化プロットを作成します。
- ポイント・クリップ・フィルタのデータ(Data at point clip filter):特定の時点で選択したフィールドの値を表示するために使用されます。
- フィルタ関数(Filter functions):これは、次のコマンドを格納するFEMの結果ツールバーのアイコン・メニューです:
- フィルタ関数平面(Filter function plane):結果のメッシュが、平面で切断されることを定義します。
- フィルタ関数球体(Filter function sphere):結果のメッシュが、球体で切断されることを定義します。
Menu:ユーティリティ
Menu: Utilities
- 面のクリッピング平面(Clipping plane on face):全てのModel Viewに、クリッピング平面を追加します。
- すべてのクリッピング平面を削除する(Remove all clipping planes):すべての既存のクリッピング平面(clipping planes)を削除します。
- FEMの例を開く(Open FEM examples):GUIを開いて、FEMの例にアクセスします。
コンテキスト・メニュー
Context Menu
- FEMメッシュをクリアする(Clear FEM mesh):FreeCADファイルからメッシュ・ファイルを削除します。FreeCADファイルを軽量化するのに便利です。
- FEMメッシュ情報を表示(Display FEM mesh info):既存のメッシュの基本的な統計を表示します。-それぞれの種類のノードと要素の数。
設定
Preferences
- 設定... (Preferences...):FEMツールで利用できる設定。
情報
Information
次のページは、FEMワークベンチのさまざまな話題を説明します。
- FEMのインストール (FEM Install):ワークベンチで使用される外部プログラムを設定する方法の詳しい説明。
- FEMメッシュ (FEM Mesh):有限要素解析用メッシュの取得に関する詳細情報。
- FEMソルバー (FEM Solver):将来で使用されるワークベンチで利用できるさまざまなソルバーの詳細情報とそれがそうであることがありえたそれら。
- FEM CalculiX (FEM CalculiX):構造解析のためのワークベンチで使用されるCalculiX(デフォルト・ソルバー)の上の詳細情報。
- FEMコンクリート (FEM Concrete):コンクリート構造物のシミュレーションに関する興味深い情報。
チュートリアル
Tutorials
チュートリアル1:FEM CalculiX片持ち梁3D (FEM CalculiX Cantilever 3D);基本的な単純に支えられた梁解析。
チュートリアル2:FEMチュートリアル (FEM Tutorial);構造物の単純な張力解析。
チュートリアル3:PythonのFEMチュートリアル (FEM Tutorial Python);メッシュを含むPythonのスクリプトによって完全に片持ち梁の例を設定します。
チュートリアル4:複合ブロックのFEM剪断(FEM Shear of a Composite Block);2つのマテリアルで構成されるブロックの変形を参照してください。
チュートリアル5:一時的なFEM分析 (Transient FEM analysis)
チュートリアル6:ParaviewによるFEM結果の後処理 (Post-Processing of FEM Results with Paraview)
チュートリアル7:FEMの例 2つのボールの静電容量 (FEM Example Capacitance Two Balls);Elmer の GUI チュートリアル 6 FEMの例を使用する「2つのボールの静電容量」。
openSIMによる連成熱機械解析チュートリアル (Coupled thermal mechanical analysis tutorials by openSIM)
ビデオ・チュートリアル1 (Video tutorial 1):初心者向けFEM動画(YouTubeリンクあり)
ビデオ・チュートリアル2 (Video tutorial 2):初心者向けFEM動画(YouTubeリンクあり)
多くのビデオ・チュートリアル (Many video tutorials):anisim オープン ソース エンジニアリング ソフトウェア (ドイツ語)
FEMワークベンチの拡張
Extending the FEM Workbench
FEMワークベンチは、継続的に開発されています。このプロジェクトの目的は、さまざまなFEMソルバーと簡単にやり取りする方法を見つけることであるため、エンドユーザーは、エンジニアリング設計の問題の作成、メッシング、シミュレーション、最適化のプロセスをすべてFreeCAD内で簡素化できます。
以下の情報は、FEMワークベンチをさまざまな方法で拡張したいパワー・ユーザーおよび開発者を対象としています。C++とPythonに精通していることを前提としており、また、FreeCADで使用される "ドキュメント オブジェクト" システムについてのいくつかの知識が必要です;この情報は、Powerユーザー・ハブ(Power users hub)とDeveloperハブ(Developer hub)で利用できます。FreeCADは、活発に開発されているため、一部の記事は古すぎるため、時代遅れになっている可能性があることに注意して下さい。最新の情報は、FreeCADフォーラムの開発セクションで議論されています。FEMの議論については、ワークベンチを拡張する際のアドバイスまたは支援、読者は、FEMサブフォーラムを参照してください。
以下の記事では、たとえば、新しい種類の境界条件 (制約) 、あるいは、方程式を追加することによって、ワークベンチを拡張する方法について説明しています。
- FEMモジュールを拡張する (Extend FEM Module)
- FEM開発者のオンボーディング(Onboarding FEM Devs)は、新しい開発者に、FEMワークベンチへの貢献方法を教えることを目的としています。
- FEM拘束を追加するチュートリアル (Add FEM Constraint Tutorial)
- FEM方程式を追加するチュートリアル (Add FEM Equation Tutorial)
複雑なFreeCADコード基盤と、コア要素と個々のワークベンチ間の相互作用を理解するパワー・ユーザーを支援するために、開発者ガイドが作成されました。この本は、githubにホストされているため、複数のユーザーが、それに貢献して最新の状態に保つことができます。
- 電子ブックの早期プレビュー:FreeCADソース・フォーラム・スレッドのモジュール開発者ガイド。(Early preview of ebook: Module developer' guide to FreeCAD source)
- FreeCAD Mod 開発ガイド(FreeCAD Mod Dev Guide) github リポジトリ。
FEMワークベンチ・ドキュメントを拡張する
Extending the FEM Workbench documentation
FEMドキュメントの拡張、あるいは、欠落に関する詳細については、フォーラムを参照してください:FEMドキュメントは、Wikiでは、なくなってしまいました(FEM documentation missing on the Wiki)。