我想在FreeFem ++中使用Nédélec的元素来解决3D中的麦克斯韦方程。我的问题是我没有办法写出边界条件,即E×N = F.我测试了:
on(0, Ehy * N.z - Ehz * N.y = Fx, Ehz * N.x - Ehx * N.z = Fy, Ehx * N.y - Ehy * N.x = Fz)
但是会显示一个错误,它唯一说的是“在token =”之前出现错误。如果我将边界条件更改为像on(0, Ehx = Fx, Ehy = Fy, Ehz = Fz)
那样的随机条件,它不会抛出任何错误,所以我认为问题来自于条件下的算术运算。
有什么想法吗?
答案 0 :(得分:1)
编写on(0, Ehx = Fx, Ehy = Fy, Ehz = Fz)
不会产生编译错误,但也不会产生正确的解决方案。
有一种解决方法可以获得正确的解决方案,具有正确的边界条件:具有f×n = E×n的函数f。这样,您可以编写on(0, Ehx = fx, Ehy = fy, Ehz = fz)
,它将按预期工作。
如果你只有F,但你确切知道域的边界,你可以计算f = n×F。基本操作会说服你f×n = E×n。