gpt4 book ai didi

python - 使用一个 PDE 的解来定义另一个 PDE - FEniCS

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:33 26 4
gpt4 key购买 nike

我目前正在尝试通过实现非标准边界条件来求解 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) 作为输入?

谢谢大家的宝贵时间!

最佳答案

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

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

关于python - 使用一个 PDE 的解来定义另一个 PDE - FEniCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24763482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com