Femtet2026.0マクロヘルプ/マニュアル
 

ホーム / 計算結果の抽出 / CGogh / 関数 / IntegralAtFace

IntegralAtFace関数

定義

IntegralAtFace(Index() As Long, Body() As Long, dir As Boolean, Func As Long, Result As CComplex) As Boolean

戻り値

True   成功
False   失敗

引数

Index()   積分を行う面トポロジのインデックス配列
インデックスは、Gogh画面のトポロジピック時のツールチップに表示されています。参照図
Body()   面トポロジを含むBodyのインデックス配列
インデックスは、Gogh画面のツリー又は、Bodyピック時のツールチップに表示されています。参照図
dir   法線の方向
積分時の法線方向を、面の法線と同じ向きする場合はTrue、逆向きで積分する場合はFalseを指定します。
Func   積分値を計算する被積分関数のアドレス(アドレス取得法
アドレスとはプロシージャーを識別する整数値です。
積分Subプロシージャ例はこちら
Result   積分結果

解説

指定した面トポロジで、被積分関数で計算される値の積分を行います。

実行例

Dim Femtet As New CFemtet
Dim FaceArray(2) As Long
Dim BodyArray(2) As Long
Dim Result As New CComplex

'プロジェクトを開く
If Femtet.LoadProject("C:\test\test.femprj", True) = False Then
    Femtet.ShowLastError
End If

'計算結果を開く
If Femtet.OpenPDT("C:\test\test.pdt") = False Then
    Femtet.ShowLastError
End If

'積分する面トポロジとその親Bodyの設定
FaceArray(0) = 1
FaceArray(1) = 4
FaceArray(2) = 2

BodyArray(0) = 1
BodyArray(1) = 1
BodyArray(2) = 1

'積分
If Femtet.Gogh.IntegralAtFace(FaceArray, BodyArray, True, AddressOf IntegralSub, Result) = False Then
    Femtet.ShowLastError
End If

'結果表示
MsgBox Result.Real, vbInformation, "Real"
MsgBox Result.Imag, vbInformation, "Imag"