1

我想在 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)它不会引发任何错误,所以我认为问题来自条件中的算术运算。

任何想法?

4

1 回答 1

1

编写on(0, Ehx = Fx, Ehy = Fy, Ehz = Fz)不会产生编译错误,但也不会产生正确的解决方案。

有一种解决方法可以在正确的边界条件下获得正确的解决方案:具有函数 f 使得 f × n = E × n。这样,您就可以编写on(0, Ehx = fx, Ehy = fy, Ehz = fz)并且它会按预期工作。

如果你只有 F,但你确切地知道域的边界,你可以计算 f = n × F。基本操作会让你相信 f × n = E × n。

于 2016-06-02T14:40:59.190 回答