我想使用FreeFem++中的Nédélec元素在3D中求解Maxwell方程。我的问题是,我找不到一种方法来写出边界条件,即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)这样的随机条件,它不会抛出任何错误,所以我认为这个问题来自于条件中的算术运算。
有什么想法吗?
发布于 2016-06-02 14:40:59
编写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。
https://stackoverflow.com/questions/34995379
复制相似问题