Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 区域分解三维电磁自由有限元法&x2B+;_Math_Pde_Numerical Analysis_Freefem++ - Fatal编程技术网

Math 区域分解三维电磁自由有限元法&x2B+;

Math 区域分解三维电磁自由有限元法&x2B+;,math,pde,numerical-analysis,freefem++,Math,Pde,Numerical Analysis,Freefem++,我正在解决一个电磁耦合问题: “旋度u+u=ω中的旋度J u x n=伽马上的梯度psi x n 拉普拉斯psi=0(单位:ωI) 梯度psi\cdot n=u\cdot n在伽马上 磅/平方英寸=0开\部分欧米茄“ 其中Omega是OmegaI和OmegaC的不相交并,OmegaC的边界是Gamma,OmegaI的边界是Gamma和\部分Omega的不相交并 我想用区域分解来解决这个问题(我在阿隆索,瓦利的《麦克斯韦方程的涡流近似》第120页后面)。 首先,我注意到Gamma上的第二个界面方程

我正在解决一个电磁耦合问题:

“旋度u+u=ω中的旋度J

u x n=伽马上的梯度psi x n

拉普拉斯psi=0(单位:ωI)

梯度psi\cdot n=u\cdot n在伽马上

磅/平方英寸=0开\部分欧米茄“

其中Omega是OmegaI和OmegaC的不相交并,OmegaC的边界是Gamma,OmegaI的边界是Gamma和\部分Omega的不相交并

我想用区域分解来解决这个问题(我在阿隆索,瓦利的《麦克斯韦方程的涡流近似》第120页后面)。 首先,我注意到Gamma上的第二个界面方程可以重写为 梯度psi\cdot n=伽马上的div_tau((J-curl u)x n) 其中div_tau是切向散度,我使用了恒等式:curl u\cdot n=div_tau(ux n)

迭代格式为:给定向量场λ, 先解决

拉普拉斯psi=0(单位:ωI)

梯度psi\cdot n=伽马上的div_tau(λx n)

磅/平方英寸=0开\部分ω

即,使用部件集成和FreeFem++语法:

problem laplaceI(psiI,vI, solver=CG)=

-int3d(ThI)(Grad(psiI)'*Grad(vI))
+int2d(ThI,interiorI)([lambday*N.z-lambdaz*N.y,lambdaz*N.x-lambdax*N.z,lambdax*N.y-lambday*N.x]'*Grad(vI))
+on(exterior, psiI=0);
那么

旋度u+u=ω中的旋度J

u x n=伽马上的梯度psi x n

即:

problem curlcurlC([HCx,HCy,HCz],[wCx,wCy,wCz], solver=CG)=

 int3d(ThC)(Curl(HCx,HCy,HCz)'*Curl(wCx,wCy,wCz))
+int3d(ThC)([HCx,HCy,HCz]'*[wCx,wCy,wCz])
-int3d(ThC)([gx,gy,gz]'*[wCx,wCy,wCz])
+on(interiorC, HCx=dx(psiI), HCy=dy(psiI), HCz=dz(psiI));
(式中,[gx,gy,gz]是[Jx,Jy,Jz]的旋度)

最后,我们需要更新向量场λ:
[lambdax,lambday,lambdaz]=(1-θ)*[lambdax,lambday,lambdaz]+θ*([Jx,Jy,Jz]-Curl(HCx,HCy,HCz))

解决方案不会随着迭代而改变。我想问题在于lambda的更新

你知道吗