问题标签 [fipy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
469 浏览

pde - 我应该如何在 FiPy 中编写这些耦合的 PDE?

我正在尝试使用 FiPy 实现三元合金的相场凝固模型。我查看了 FiPy 网站上提供的大多数相场示例,我的模型类似于examples.phase.quaternary

浓度的演化方程如下所示:

http://i.stack.imgur.com/KvM1r.png

应该解决 C_1 和 C_2(C_3 是溶剂)的问题。浓度方程与相演化方程耦合,我们有 D_i = D_i(phi),h = h(phi)。

在所有三个术语中为 (C_i) 求解的变量存在非线性依赖关系,这让我不确定如何在 FiPy 中定义它们。第一项(红色)是具有非线性系数的扩散项,应该没问题,但我应该如何定义反扩散和相变项?

我尝试将它们定义为具有非线性系数的扩散和对流项,但没有成功。因此,我希望就如何定义一些建议让 FiPy 喜欢它。

任何帮助都非常感谢,谢谢!/安德斯

0 投票
1 回答
108 浏览

python - FiPy - 域延伸/帧增长

我试图在深度( h(t) )随时间变化的域上求解一个简单的扩散方程(dT/dt = K d2T/dx2 )。因此,得到的等式是:

其中 z 现在是一个固定的 0->1 域。

新术语是框架平流,我试图将其包含在内,但我正在努力解决空间相关系数。

当我将它包括在对流项之外时:

我收到此错误:

但如果我重新组织方程,使空间相关性在对流项内:

求解方程时出现不同的错误:

包含这些术语的正确方法是什么?我在某个地方犯了一个愚蠢的错误吗?

0 投票
1 回答
166 浏览

cython - 如何提高Fipy效率

我正在使用 fipy 解决计算域中孤立区域的扩散问题。见示意图。下图: 孤立的 BC 之间没有通量,而周期性 BC 存在通量

该问题在 Fipy 下建模,在fipy.FaceVariable@Daniel Wheeler 的帮助下定义了可变系数。

但是,计算速度无法满足我的命令,这比使用有限差分法的 cython 代码慢得多。如果我想加快 fipy 计算,我该怎么办?这是我的演示代码:

0 投票
1 回答
191 浏览

python - FiPy 设置初始网格值

我是一个用例,我需要将值从 2D Numpy 数组转置为 2D FiPy 网格,然后将其用于求解系统。

我的代码如下:

其中 tmpSource 和 tmpSink 表示 Numpy 数组。

虽然这种方法有效,但运行起来非常缓慢。有人对可以使其更快的替代方法有任何建议吗?

谢谢!

0 投票
1 回答
592 浏览

python - 在 Fipy 中操纵对流系数:对流扩散方程

我正在尝试使用 fipy 在 python 中解决对流扩散方程。我想操纵对流系数,使其指向域的中心。

我的代码是

正如你所看到的,随着时间的推移,波的移动方向由对流系数向量确定。操纵波的对流系数的代码如何仅向我的域中心移动?

任何建议将不胜感激!

0 投票
1 回答
236 浏览

python - 名义上安装了 Fipy 但 fipy.test() 失败并显示错误消息

我正在尝试在 Windows 7 系统上使用 Miniconda 2 设置 FiPy,并使用推荐 python -c "import fipy; fipy.test()"的.

不幸的是,该套件没有得到测试结果,而是给了我一个堆栈跟踪错误:

任何人都可以帮我解决这个问题吗?我不知道从哪里开始这个结果。

0 投票
1 回答
214 浏览

python - 使用 Fipy 估计 PDE 系统的参数

我正在使用 Fipy 解决一个涉及两个参数或常量的 PDE 系统,所以我想知道是否也可以在 Fipy 中估计这些参数,或者其他库更适合于此。

注意:我知道 scipy 有一些功能(optimize.minimize for MLE),但我不确定是否足以将它们应用于 Fipy 的代码。

更新:对于下面的 PDE 系统,我想估计两个未知参数:“Beta”和“m”

在 Fipy 中求解这个 PDE 的函数是这样的:

最后,对于最大似然标准,我想最大化:

设置初始值,并使用 scipy

结果显示的值始终接近我的参数初始值,这就是我不确定我的程序是否正确的原因。任何建议将不胜感激。

0 投票
1 回答
295 浏览

simulation - 求解管道中的热方程

我想模拟从热流体流经管道到周围固体的热传递。进入管道的流体的温度是变化的。

到目前为止我想到的最好的事情是使用存储其先前值(旧)的变量并沿管道手动移动值,并将当前入口流体温度分配给管道开始处的体积以模拟流动,同时使用短足够的时间间隔以避免不连续性。

虽然这可能有效,但由于网格元素具有不同的体积,因此存在明显的缺点,因此分配其他值意味着存储的能量会发生变化,这对模拟不利,并且由于流动始终沿同一方向,因此该错误可能会累积。

我想知道是否有更好的方法来模拟这个。有什么建议么?

谢谢!

0 投票
1 回答
580 浏览

fipy - 一般边界条件

我很感激有关设置一般边界条件的帮助,-grad(y) + g(y) = 0其中g是一些未知函数y。这是一个我无法开始工作的简单一维示例:

此代码无法解决,但我确实可以看到矩阵和 RHS:

矩阵m显然是奇异的,因为源项未包含在最后一行中。关于如何包含它的任何建议?

0 投票
1 回答
747 浏览

python - EnvironmentError: Gmsh 版本必须 >= 2.0

我是fipy的新手,所以如果我问一些应该很明显的问题,请原谅我的无知。但是我无法运行一个已经存在的(并且在其他机器上工作)脚本,EnvironmentError: Gmsh version must be >= 2.0.我可能在安装过​​程中错过了一些东西?Fipy 手册对 gmsh 的实现有点含糊。它只提供下载文件的链接,并且可以通过它生成网格,但它没有说应该安装 gmsh 的位置(所以我有我 gmsh-3.0.3-Windows的默认值,即在Program Files (x86). 如果它安装在某个特定的目录中,也许和fipy一样吗?(我真的为一个愚蠢的问题道歉,但是如果你知道要问什么问题,你就已经知道答案并且根本不需要问。)

为了完整起见,我在 Windows 7 上运行它,来自 Anaconda 发行版的 Python 2.7,fipy 3.1.3。