
CAEソフト【 Femtet 】-ムラタソフトウェア株式会社
学べるテクニック
熱伝導過渡解析において指定した境界条件を温度境界と熱伝達・対流境界で交互に切り替えて指定した時間で加熱と放熱を繰り返しリスタート解析するサンプルマクロです。
加熱時と放熱時の時間設定、加熱時の温度設定はエクセルのワークシートから設定できます。
予め作成したプロジェクトファイルをマクロ制御しますので、マクロ制御のためのプログラムコードは非常にシンプルな構成となっています。
学べるテクニック
テクニック
複数のプロジェクトや複数のモデルに対してそれぞれ指定した既存メッシュ(PDT)を用いた解析を自動実行します。
Femtet2022.1から結果インポート機能で既存メッシュを用いた解析ができるようになりましたが、本マクロでは結果インポート設定に対して優先的な既存メッシュを用いた解析が可能です。
メリット
既存メッシュを用いることで、メッシュ生成に時間のかかる解析において構造以外の条件振りを行う場合、不要なメッシュ生成処理を省略することができます。
学べるテクニック
熱源が移動する熱伝導解析を行うマクロサンプルです。
熱源となるボディを次々に変更しながらリスタート解析を繰り返す処理をマクロで自動化し、熱源の移動を模擬しています。
解析結果はアニメーションで表示することもできます。
zipファイルを解凍すると、サンプルのプロジェクトファイル、マクロ、解析結果例(アニメーション)が取得できます。
学べるテクニック
電磁波解析で、開放境界を持つモデルの計算結果から周辺電磁界を取得するマクロです。
レーダ断面積(RCS:Radar Cross Section)も計算できます。
つぎの2種類の方法が実行できます。
(1)指定したプロジェクトファイルを実行した周辺電磁界の値を取得する
(2)指定した結果ファイル(PDTファイル)を開いて周辺電磁界の値を取得する
なお、座標系は極座標系限定となっています。
zipファイルを解凍するとプロジェクトファイルとマクロが取得できます。
学べるテクニック
テクニック
指定したプロジェクトを開いて解析終了時に
Outlookメールを指定した宛先アドレスに送信します。
更新内容
本文にエラーメッセージの追記およびlogファイルの添付処理を追加しました(2023.4.4)
学べるテクニック
テクニック
Excelマクロを介して最適化ソフトHEEDSとFemtetを連携し、最適化を実行した事例をご紹介します。
Excelマクロとしては条件変数を指定セルから解析モデルに反映し、解析実行の後、結果値(たわみ量)を指定セルへ出力する処理を実行します。
HEEDSとExcelマクロの連携設定としてはHEEDSから条件変数(Variables)を変更して、マクロのメイン関数で解析実行し、
その結果の応答値(Response)やモデル図、結果図をHEEDSが結果として参照できるように設定します。
詳細については弊社ユーザーサポートまでお問い合わせください。
備考
Femtetは株式会社村田製作所の登録商標です。
HEEDSソフトウェア(略. HEEDS)はシーメンスデジタルインダストリーズソフトウェア社の商標です。
その他全ての会社名、ブランド名、製品名、商標は、それぞれの所有者に帰属します。
またここに記載されている全ての画像の転載、複製、改変等はいかなる場合も禁止です。
学べるテクニック
ロフト機能では形状が異なるシートボディをなめらかにつないだソリッド形状を作ることができます。
本マクロではその機能を応用して少しずつ形状や角度を変えた楕円(または円)を曲線上に配置し
ロフト処理することでGUIでは作成が困難な複雑な形状を作成する方法を示しています。
具体的な形状例としてメビウスリング、くびれ形状のあるリング、ツイストペアのリングなどを示しています。
学べるテクニック
ボディが複雑形状の場合、接触面境界の設定は手作業では煩雑になりがちですが、本マクロでは自動設定が可能です。
本マクロはボディキーの番号で指定した2つのボディ上の全ての面(2次元では辺)同士の距離を計算し、指定距離以下であれば接触面境界条件を自動付与するマクロです。
ボディ表面の面(辺)トポロジーへのアクセス方法、面(辺)トポロジー同士の距離の算出例を本マクロのソースコードから知ることができます。
学べるテクニック
熱源が移動する輻射解析を行うマクロサンプルです。
変数を介して熱源ボディを移動し、結果インポートで前回の最終温度を初期温度としてインポートした過渡解析を繰り返す処理をマクロで自動化しています。
各変数条件での結果ファイルを保存し、それぞれの結果ファイルの全モードの温度分布の画像を保存する処理もマクロで自動化しています。
学べるテクニック
測定端子境界のモニター温度に応じて発熱ボディの発熱量を変化させて熱伝導過渡解析のリスタート解析を繰り返す解析事例です。
測定端子境界の温度条件に応じて発熱ボディの発熱条件を変える処理は発熱密度の温度依存性では模擬できませんのでマクロを使用する必要があります。
サンプル条件では温度上昇に伴って発熱量が減少し、ある温度条件および発熱条件に収束していく様子が分かります。
学べるテクニック
変数設定したFemtetのプロジェクトファイルを開いて
設定した条件に沿って変数を変えながら解析を繰り返して
モデル図や結果図を自動保存するマクロ(VBA、Python)の事例です。
学べるテクニック
音波解析の音圧の指向性データを取得するマクロです。
1指定したプロジェクトファイルを実行して指向性を取得できます。
2指定した結果ファイルを開いて指向性を取得できます。
指向性の結果は配列変数にθとφを振った結果がシリアルに格納されており、
その内部配列を理解したうえで取り出す必要があります。
本マクロのSamplingResult関数ではその処理の一例を示しています。
学べるテクニック
FemtetにはVBAマクロを出力する機能がありますが、このマクロサンプルでは
VBAマクロをベースにPythonマクロを作成するコツを解説しています。
圧縮ファイルにはPythonマクロのサンプルが4種類同梱されていますので
コード記述を確認したり、動作確認することが可能です。
学べるテクニック
ボディ毎のポテンシャルの積分値と平均値を取得するマクロです。
※3Dモデルのみ対応しています。
全ボディ(単一モード指定)または全モード(単一ボディ指定)での結果取得に対応しています。
熱伝導解析の温度、電磁波解析の損失密度、応力解析の弾性相当ひずみの3つのポテンシャルの積分値と平均値の取得に対応しています。
他のポテンシャルの積分値、平均値を取得する場合は標準モジュールのSetResultField関数、SetResultMode関数を編集してください。
学べるテクニック
Femtetの熱伝導解析では熱等価回路の情報を出力できますが、それをもとに手作業で1Dシミュレーションのモデルを作成するのは手間がかかります。
Femtetの熱伝導解析の結果をもとに、MATLAB/Simulinkの1D-熱モデルを自動生成するマクロをご紹介します。
学べるテクニック
全ボディ(単一モード指定)または全モード(単一ボディ指定)での結果取得に対応しています。
熱伝導解析の温度、電場解析の電界ベクトルの大きさ、応力解析の最大主応力、圧電解析の最大主応力の4つの結果取得に対応しています。
他の節点結果の最大値、最小値を取得する場合は標準モジュールのSetResultField関数、SetResultMode関数、GetResult関数を編集することで機能変更追加が可能です。
応力や電界など要素境界で不連続となるフィールドの場合は描画設定の平均化オンオフによって最大値最小値が変化しますがその平均化オンオフの設定にも対応しています。
(2021/07/15)圧電解析の最大主応力にも対応しました。
学べるテクニック
あらかじめ指定したトポロジー(辺または面)における節点結果の最大値と最小値を取得するマクロです。
複数のトポロジー(単一モード指定)または全モード(単一トポロジー指定)での結果取得に対応しています。
熱伝導解析の温度、電場解析の電界ベクトルの大きさ、応力解析の最大主応力の3つの結果取得に対応しています。
他の節点結果の最大値、最小値を取得する場合は標準モジュールのSetResultField関数、SetResultMode関数、GetResultNode関数を編集することで機能変更追加が可能です。
学べるテクニック
電場解析の結果ファイルを開いて、指定した面上の節点の電界ベクトルを取得するマクロです。
各節点の電界ベクトルを取得する前に節点が面上に存在するかどうかの判定を行っています。
※本マクロを使用するモデルにおいてあらかじめ着目する断面でボディ切断しておくことを推奨します。
学べるテクニック
熱伝導解析の結果ファイルを開いて、指定した温度範囲の面積や体積を計算するマクロです。
面積計算の場合は境界条件、体積計算の場合はボディ属性を指定します。
被積分関数の中で積分点における温度を確認する条件分岐処理を行っています。
(2021/07/15)FaceIDおよびBodyIDを指定して計算する機能を追加しました。
学べるテクニック
指定した結果ファイルの温度分布図を自動的にファイル保存します。
過渡解析のような複数のモードがある場合にもすべて自動保存します。
視点ベクトル、画像サイズ、温度カラーバーの最小値と最大値の設定が可能です。
学べるテクニック
事例4:ボディ属性名自動付与
のpythonマクロ版です。
・指定したプロジェクトファイルに保存されているボディに、指定したボディ属性を自動付与するマクロです。
・複数のボディに決まった処理を一括でおこなうテクニックを学べます。
学べるテクニック
2つのプロジェクトファイルを指定して解析条件の差分を確認するマクロです。2つのプロジェクトで共通するボディ属性、材料定数の差分を確認することも可能です。
学べるテクニック
・指定した計算結果ファイルから、指定した3次元格子状に最大主応力とミーゼス相当応力を抽出するマクロです。
・計算結果から所望の結果を自動抽出するテクニックを学べます。
学べるテクニック
・変位を含む解析結果のメッシュデータを出力したNastranファイルをSTLフォーマットに変換するマクロです。
・Femtetで得られた解析結果の形状をNastranファイルに出力し、このマクロを使用してSTLフォーマットに変換して他のCADソフトにインポートすることが可能です。
・変換処理の進捗が分かるように改良しました。(2020/12/25)
学べるテクニック
・入力された複数の座標値のデータを読み込み、すべての座標を繋げた自由曲線を作成するマクロです。
・放物線の式から求めた座標値を入力し放物線ボディを作成するといった事が可能です。
学べるテクニック
・Excelのゴールシークを使用して、マイクロストリップラインの特性インピーダンスが50Ωになる電極幅を計算するマクロです。
・Excelのゴールシークを使用した最適化計算の方法、特性インピーダンスの結果を取得する方法などが学べます。
学べるテクニック
・磁場解析で磁性体が自由落下中に磁石から受ける吸引力を計算し、磁性体の軌道計算を行うマクロです。
・計算結果から電磁力を取得する方法、得られた計算結果からグラフを作成する方法などが学べます。
学べるテクニック
・計算結果ファイルを指定し、全モードの計算結果画面を画像として取り出すマクロです。
・結合係数を指定して不要なモードを取りださないようにフィルターをかけることができます。
学べるテクニック
・VBで記述されたマクロで、指定したパスに電場解析プロジェクトを作成して、特定の面の電界の積分値を自動で求めます。
・VBでのマクロコードの記述方法、積分の実行方法を学べます。
学べるテクニック
・指定したcadデータをインポートし静解析を行い、得られた結果を初期応力として共振解析を自動実行するマクロです。
・cadデータのインポート、プロジェクトの複製、解析結果の抽出を自動でおこなうテクニックを学べます。
学べるテクニック
・指定した計算結果ファイルから、指定した3次元格子状に磁束密度の計算結果を抽出するマクロです。
・計算結果から所望の結果を自動抽出するテクニックを学べます。
・磁束密度以外の計算結果を取り出したい場合は、サンプルマクロ内のモード、フィールドの設定を変更してください。
学べるテクニック
・指定した時刻に指定したプロジェクトの解析を実行させるマクロです。
・ExcelVBAのOnTimeメソッドを使用して処理を制御するテクニックが学べます。
学べるテクニック
・指定したプロジェクトファイルに保存されているボディに、指定したボディ属性を自動付与するマクロです。
・複数のボディに決まった処理を一括でおこなうテクニックを学べます。
学べるテクニック
・モデル作成⇒各条件設定⇒解析実行を行い、全モードの計算結果画面をファイル保存するマクロです。
・モデル作成、条件設定、解析実行、結果の抽出処理をマクロでおこなう方法を学べます。
学べるテクニック
・指定したDXFファイルをインポートしたプロジェクトファイルを自動生成するマクロです。
・複数のDXFファイルを指定した場合、各DXFファイルをインポートしたプロジェクトを複数自動生成します。
・マクロによるファイル操作が学べます。
まずはFemtetを試してみたい
試用版はこちらもっとFemtetについて詳しく知りたい
イベント・セミナー情報はこちら