问题标签 [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.
fipy - fipy 中的面部区域
是否有可能在fipy中提取两个单元格之间的面部区域?
我知道每个网格都有属性cellVolume并且在我调查的特定情况下,这使我能够推断出相关的表面积。此外,我可以获得faceCenters和faceNormals。但是为faceVariable包含一个属性faceArea不是很自然吗?
python - 您如何将 CellVariables 或 ImplicitSourceTerms 提升到 FiPy 中的强大功能?
使用 FiPy(Python 库)我想解决如下所示的 pdes 系统的耦合问题。下面的代码有效,但没有给出正确的解决方案。
根据我看到的一些代码,我还尝试用 ImplicitSourceTerm 替换 CellVariables,但这会产生错误,因为无法以这种方式将 ImplicitSourceTerm 的幂 p 完成。但是我找不到任何关于它应该如何完成的文档:
试图提高 U.value**p 也会出错。
fipy - Fipy 中的导数
包含在 FiPy 中不能表示为(至少以任何明显方式)对流或扩散的导数的术语的正确方法是什么?例如,在一个 PDE 系统中,在坐标为 x,y 的 2d 区域上求解函数 u_i ,其中一个方程包含项
u_2 * \partial_x u_1
鉴于 x 和 u_i 是单元变量,我可以将其表示为源:
然而,由于在 FiPy 中梯度是如何计算的,x.grad 是一个向量,除了与 x 边界直接相邻的单元格之外,x.grad 是一个值为 (1,0) 的向量,在该处它变为 (2,0)。这意味着我必须从一开始就使用向量 (1,0) 而不是 x.grad 。但是在这一点上,我不确定 u_1.grad 是否会在边界处具有正确的值来代表我的术语,而且很可能,我的整个方法是不正确的。我应该怎么做才能代表这样一个术语?
python - Fipy 似乎不想使用 SciPy 作为求解器
根据 FiPy 网站,您需要“至少一个求解器”,他们将 SciPy列为一种可能的“求解器”。我肯定安装了 SciPy - 我可以使用import scipy
. 我还没有使用 setup.py 或类似的东西正式安装 FiPy,我只是将代码放在一个名为 fipy 的文件夹中。然后,当我进入 Python shell 并键入import fipy
时,我得到:
在通过 setup.py 正式安装 FiPy 后,我已经尝试过这样做(使用 pip 不起作用,我遇到了一些与 tensorflow 相关的奇怪错误)。设置 FIPY_SOLVERS 环境变量也不起作用(同样的错误)。
我在 Ubuntu 上使用 Python 2.7。
python-3.x - FiPy 设置流出条件的正确方法
我需要一些帮助来解决 FiPy 中一个安静的简单问题。我的目标是模拟相变时流过混凝土块的流体。但首先我尝试做一个简单的一维模拟,假设流体质量流量和壁温恒定,没有任何相变。
由于恒定的壁温和恒定的流体入口温度,我希望流体出口温度恒定。我没有将壁温定义为边界条件,因为有一天我也想分析热传导和可变温度梯度。运行我的 mwe,您可以看到出口处的流体温度下降。在这种情况下有人可以帮忙吗?提前致谢!
python - IntelliJ 无法导入模块,但从命令行可以正常工作
我正在使用 Ubuntu 并尝试运行一个简单的 Python 脚本:
如果我从命令行运行它,一切都很好:
但是,如果我从 IntelliJ 中运行它,它将无法加载模块:
请注意,python venv 和正在执行的脚本完全相同,所以我不明白为什么结果不同。
有人遇到过类似的事情吗?
注意肯定安装了Fipy:
python - 在 GMSH 物理线获取 FaceVariable
我成功地设置了一个非常简单的扩散问题,包括使用 GMSH 生成的网格上的源面(连续体)和汇面(侧壁、顶部)。
计算按预期工作,但是我想访问我在 GMSH 中设置的物理面的渐变。我知道我可以使用 获得面部的渐变,c.faceGrad
使用mesh.physicalFaces['sidewall']
. 为了获得物理面中包含的面的渐变,我希望使用像c.faceGrad[mesh.physicalFaces['sidewall']]
. 但是,这不会产生预期的结果。有没有办法在指定的位置访问 FaceVariable physicalFaces
?
differential-equations - 在 FiPy 中反映边界条件
我正在尝试求解 FiPy 中的对流扩散方程。目前,我想要实现的只是一个 Neumann 边界条件,以便波在右侧边界处反射回来,而不是在域外传播。
我添加了以下行:
phi.faceGrad.constrain(0,mesh.exteriorFaces)
但这似乎并没有改变任何东西。
我是否施加了错误的边界条件?我是否错误地强加了它?我已经搜索过这个,但似乎找不到一个具有从边界反射的波的简单特性的例子!我的代码如下。非常感谢。
fipy - 如何将面变量转换为单元变量以将其插入方程?
我想用一些源项来解决流体流动问题。但是我无法按照我的要求在最后用源项写出方程。有没有办法将 FaceVariable 转换为 cellVariable。
我收到此错误
TypeError:系数不能是 FaceVariable。
代码如下
mesh - FiPy 中的一维球形网格
我想在一维网格上的球坐标中求解 FiPy 中的扩散方程。我还希望左边界位于 r=0.1,而不是 r=0。
我找不到一维球面对称的模块;只有圆柱形。我想我是用 Grid1D 来做的,只需在球坐标中编写 del^2 运算符,然后乘以 r^2(如此处所述)。但是,我仍然不知道如何指定边界的位置。
有人可以建议我怎么做吗?非常感谢。