【问题标题】:Using a solution to a PDE, to define another PDE - FEniCS使用 PDE 的解来定义另一个 PDE - FEniCS
【发布时间】:2014-09-05 23:02:46
【问题描述】:

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

感谢大家的宝贵时间!

【问题讨论】:

    标签: python pde finite-element-analysis


    【解决方案1】:

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

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

    【讨论】:

    • 很抱歉,我真的不明白共同边界是如何形成的
    猜你喜欢
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2013-04-10
    相关资源
    最近更新 更多