Home > vbmeg > functions > leadfield > bem > vb_bem_meg_linear_grk.m

vb_bem_meg_linear_grk

PURPOSE ^

magnetic field by using BEM method

SYNOPSIS ^

function B = vb_bem_meg_linear_grk(Bvol,Vs,Fs,V,J,X,Q)

DESCRIPTION ^

 magnetic field by using BEM method
  B = vb_bem_meg_linear_grk(Bvol,Vs,Fs,V,J,X,Q)

 Bvol : 境界頂点係数行列
 Vs : 境界三角面の座標
 Fs : 境界三角面頂点インデックス
 V  : 電流双極子座標        (m)    (Ndipole,3)
 J  : 電流双極子モーメント  (A)    (Ndipole,3)
 X  : 磁気センサー座標             (Npick,  3)
 Q  : 磁場の観測方向               (Npick,  3)

 B  : X における磁場 (テスラ)    (Npick, Ndipole)

 真空の透磁率 = 4π×10^(-7) (N/A^2), 1T(テスラ)= 1N/A・m

 2004-02-06 Taku Yoshioka
 2004-12-26 M. Sato modified

 Copyright (C) 2011, ATR All Rights Reserved.
 License : New BSD License(see VBMEG_LICENSE.txt)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function B = vb_bem_meg_linear_grk(Bvol,Vs,Fs,V,J,X,Q)
0002 % magnetic field by using BEM method
0003 %  B = vb_bem_meg_linear_grk(Bvol,Vs,Fs,V,J,X,Q)
0004 %
0005 % Bvol : 境界頂点係数行列
0006 % Vs : 境界三角面の座標
0007 % Fs : 境界三角面頂点インデックス
0008 % V  : 電流双極子座標        (m)    (Ndipole,3)
0009 % J  : 電流双極子モーメント  (A)    (Ndipole,3)
0010 % X  : 磁気センサー座標             (Npick,  3)
0011 % Q  : 磁場の観測方向               (Npick,  3)
0012 %
0013 % B  : X における磁場 (テスラ)    (Npick, Ndipole)
0014 %
0015 % 真空の透磁率 = 4π×10^(-7) (N/A^2), 1T(テスラ)= 1N/A・m
0016 %
0017 % 2004-02-06 Taku Yoshioka
0018 % 2004-12-26 M. Sato modified
0019 %
0020 % Copyright (C) 2011, ATR All Rights Reserved.
0021 % License : New BSD License(see VBMEG_LICENSE.txt)
0022 
0023 %  変数の次元
0024 NS = size(X,1);        % 磁気センサー
0025 NJ = size(V,1);        % 電流双極子
0026 NF = size(Fs,1);    % 境界三角面
0027 NV = size(Vs,1);    % 境界頂点
0028 
0029 %  磁場とポテンシャル
0030 B  = zeros(NS,NJ);    % 観測点 X における磁場
0031 B0 = zeros(NS,1);
0032 P0 = zeros(NV,1);
0033 
0034 % 境界三角面の頂点 triangle vertex
0035 x1 = Vs(Fs(:,1),:);
0036 x2 = Vs(Fs(:,2),:);
0037 x3 = Vs(Fs(:,3),:);
0038 
0039 %% 境界三角面の面積
0040 s0 = vb_cross2(x2-x1,x3-x1);
0041 S  = sqrt(sum(s0.^2,2));
0042 
0043 %%%% 観測点での磁場計算 %%%
0044 
0045 % 境界三角面の内点
0046 ip1 = (4*x1+x2+x3)/6; 
0047 ip2 = (x1+4*x2+x3)/6; 
0048 ip3 = (x1+x2+4*x3)/6;
0049 
0050 for n=1:NJ,
0051   % n-番目の双極子
0052   x0 = V(n,:);
0053   J0 = J(n,:);
0054   
0055   % 境界三角面内点上の双極子ポテンシャル
0056   p1 = vb_dipole_pot(J0,x0,ip1);
0057   p2 = vb_dipole_pot(J0,x0,ip2);
0058   p3 = vb_dipole_pot(J0,x0,ip3);
0059   
0060   P0 = zeros(NV,1);
0061   
0062   % 境界三角面上のポテンシャル積分を内点の重み付き和で近似
0063   for i = 1:NF
0064     ix1 = Fs(i,1);
0065     ix2 = Fs(i,2);
0066     ix3 = Fs(i,3);
0067     P0(ix1) = P0(ix1)+S(i)/36*(4*p1(i)+p2(i)+p3(i));
0068     P0(ix2) = P0(ix2)+S(i)/36*(p1(i)+4*p2(i)+p3(i));
0069     P0(ix3) = P0(ix3)+S(i)/36*(p1(i)+p2(i)+4*p3(i));
0070   end
0071 
0072   % 観測点(センサ位置)における双極子磁場計算
0073   B0 = vb_dipole_mag(J0,x0,X,Q);
0074     
0075   % 磁場に境界面ポテンシャルからの体積電流寄与 Bvol*P0 を加える
0076   B(:,n) = B0 + Bvol*P0/(4*pi);        % (Nsensor x 1)
0077 end;
0078 
0079 B = B*(10^(-7));    % (真空中の透磁率)/(4π)

Generated on Mon 22-May-2023 06:53:56 by m2html © 2005