ホーム / 計算結果の抽出 / 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 CFemtetDim 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"


