4

我目前正在尝试通过实现非标准边界条件来解决 FEniCS 中的 Monge-Ampere 方程。

边界条件,要求解的梯度必须将原始域的边界映射到另一个指定域。

当目标域被规定为单位圆时,实现非常简单,我通过将以下内容放入我的系统中来解决它:

+(dot(grad(uh),grad(uh))-1)*vh*ds\ (1)

其中 uh 是试验函数,vh 是测试函数。

当考虑更复杂的目标空间时,例如正方形 [−1,1]×[−1,1] 事情变得更加困难,因为手工解决并不是那么简单,所以我的想法是使用距离函数.

为此,我解决了 Eikonal 方程的稳定版本,其解决方案是有符号距离函数,然后我的想法是将 (1) 替换为:

+E(grad(uh))*vh*ds

其中 E 是 Eikonal 方程的解,但是当我尝试实现它时,我得到一个错误,指出函数需要标量参数,

有没有办法以第二个微分形式对解决方案进行编程以接受 grad(uh) 作为输入?

谢谢大家的时间!

4

1 回答 1

0

您必须在公共边界上指定 Neumann 条件(梯度向量)而不是 Dirchelet(潜在标量)。

如果我要模拟两个不同区域之间的传导/扩散物理问题,能量守恒将要求边界两侧的通量必须平衡。您将如何在方程式中表达该边界条件?

于 2014-07-21T13:19:51.973 回答