ホーム / 計算結果の抽出 / CGogh / 関数 / IntegralAtEdge
IntegralAtEdge関数
定義
IntegralAtEdge(Index() As Long, Body() As Long, dir As Boolean, Func As Long, Result As CComplex) As Boolean戻り値
| True | 成功 | |
| False | 失敗 |
引数
| Index() | 積分を行う辺トポロジのインデックス配列 | |
| 辺トポロジが積分方向(下記引数"dir"参照)に沿って、連続かつ分岐しないように指定してください。
インデックスは、Gogh画面のトポロジピック時のツールチップに表示されています。参照図 |
||
| Body() | 辺トポロジを含むBodyのインデックス配列 | |
| インデックスは、Gogh画面のツリー又は、Bodyピック時のツールチップに表示されています。参照図 | ||
| dir | 積分時の接線の方向。 | |
| 辺トポロジの方向と同じ方向で積分する場合はTrue、逆の場合はFalseを指定します。 | ||
| Func | 積分値を計算する被積分Subプロシージャーのアドレス(アドレス取得法) | |
| アドレスとはプロシージャーを識別する整数値です。積分Subプロシージャ例はこちら | ||
| Result | 積分結果 |
解説
指定した辺トポロジ上で、被積分関数で指定する値の線積分を行います。指定する辺トポロジは連続かつ分岐しないように指定してください。
辺が重複していたり、交叉しているとエラーとなりFalseが返ります。
実行例
Dim Femtet As New CFemtetDim EdgeArray(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の設定
EdgeArray(0) = 1
EdgeArray(1) = 4
EdgeArray(2) = 2
BodyArray(0) = 1
BodyArray(1) = 1
BodyArray(2) = 1
'積分
If Femtet.Gogh.IntegralAtEdge(EdgeArray, BodyArray, True, AddressOf IntegralSub, Result) = False Then
Femtet.ShowLastError
End If
'結果表示
MsgBox Result.Real, vbInformation, "Real"
MsgBox Result.Imag, vbInformation, "Imag"


