level 6
冉qx
楼主
为了验证Kirchhoff积分公式,代码如下:
In[573]:= \[Lambda] = 10;
k = (2 \[Pi])/\[Lambda];
n = {x, y, z};
R = {1000, 0, 0};
\[Psi] = Exp[-I k Sqrt[(x - R[[1]])^2 + y^2 + z^2]]/Norm[R];
\[ScriptCapitalE] = ({1, -1, 0} Exp[(I k (x + y))/Sqrt[2]])/Sqrt[2];
t1 = 1/(4 Pi) (NSurfaceIntegrate[\[ScriptCapitalE] (
Grad[\[Psi],{x, y, z}] . n) - \[Psi] (\!\(
\*SubscriptBox[\(\[PartialD]\), \({{x, y, z}}\)]\[ScriptCapitalE]\) .
n), {x, y, z} \[Element] Sphere[],
Method -> "LocalAdaptive"] // Norm)
t2 = 1/(4 Pi) (NSurfaceIntegrate[
Grad[(\[Psi] n . \[ScriptCapitalE]),{x, y, z}] -
n (Grad[\[Psi],{x, y, z}] . \[ScriptCapitalE]), {x, y,
z} \[Element] Sphere[], Method -> "LocalAdaptive"] // Norm
t3 = -(1/(
4 Pi)) (NSurfaceIntegrate[((Div[\[ScriptCapitalE],{x, y,
z}]) n + \[ScriptCapitalE]\[Cross](Curl[
n,{x, y, z}])) \[Psi], {x, y, z} \[Element] Sphere[],
Method -> "LocalAdaptive"] // Norm)
Out[579]= 0.000129072
Out[580]= 0.000129072
Out[581]= 0.
按照图片的说法,t2,t3应该为零,但t2怎么不为零。图片如下:

2025年10月09日 06点10分
1
In[573]:= \[Lambda] = 10;
k = (2 \[Pi])/\[Lambda];
n = {x, y, z};
R = {1000, 0, 0};
\[Psi] = Exp[-I k Sqrt[(x - R[[1]])^2 + y^2 + z^2]]/Norm[R];
\[ScriptCapitalE] = ({1, -1, 0} Exp[(I k (x + y))/Sqrt[2]])/Sqrt[2];
t1 = 1/(4 Pi) (NSurfaceIntegrate[\[ScriptCapitalE] (
Grad[\[Psi],{x, y, z}] . n) - \[Psi] (\!\(
\*SubscriptBox[\(\[PartialD]\), \({{x, y, z}}\)]\[ScriptCapitalE]\) .
n), {x, y, z} \[Element] Sphere[],
Method -> "LocalAdaptive"] // Norm)
t2 = 1/(4 Pi) (NSurfaceIntegrate[
Grad[(\[Psi] n . \[ScriptCapitalE]),{x, y, z}] -
n (Grad[\[Psi],{x, y, z}] . \[ScriptCapitalE]), {x, y,
z} \[Element] Sphere[], Method -> "LocalAdaptive"] // Norm
t3 = -(1/(
4 Pi)) (NSurfaceIntegrate[((Div[\[ScriptCapitalE],{x, y,
z}]) n + \[ScriptCapitalE]\[Cross](Curl[
n,{x, y, z}])) \[Psi], {x, y, z} \[Element] Sphere[],
Method -> "LocalAdaptive"] // Norm)
Out[579]= 0.000129072
Out[580]= 0.000129072
Out[581]= 0.
按照图片的说法,t2,t3应该为零,但t2怎么不为零。图片如下:
