- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经生成了一个 gmsh 网格,并通过 Gmsh2D 导入到 FiPy 中。我想解决表面问题以设置边界条件,但我不知道如何操作。
在我在文档中发现的 FiPy 示例中,建议命名某些行以便稍后处理它们。将网格导入 fipy 后如何执行此操作?
// note: if you do not use any labels, all Cells will be included.
Physical Surface("Outer") = {1};
Physical Surface("Middle") = {2};
Physical Surface("Inner") = {3};
// label the "north-west" part of the exterior boundary
// note: you only need to label the Face elements
// (Physical Line in 2D and Physical Surface in 3D) that correspond
// to boundaries you are interested in. FiPy does not need them to
// construct the Mesh.
Physical Line("NW") = {5};
-----------------
编辑:
对于简单的曲面,这将起作用:我忽略了mesh.exteriorFaces
。对于一个简单的圆,这导致了简单的解决方案:
xfc, yfc = mesh.faceCenters() # returns x faceCenters coordinate, ...
xcc, ycc = mesh.cellCenters()
plot(xfc[where(mesh.exteriorFaces == False)],yfc[where(mesh.exteriorFaces == False)],'ro', label='inside')
plot(xfc[where(mesh.exteriorFaces == True)],yfc[where(mesh.exteriorFaces == True)],'ko', label='surface')
legend()
尽管如此,我仍在寻找有关如何从外部访问 gmsh 代码的答案,但这也许对其他人有帮助:)
最佳答案
“外”不是一张物理面孔,而是一组物理细胞。要访问“Outer”的边界面,您可以添加
Physical Line("Outer Boundary") = {1, 2, 3, 4, 5, 6, 7, 8};
到您的 Gmsh 脚本,然后使用
应用约束var.constrain(value, where=squaredCircle.physicalFaces["Outer Boundary"])
正如您所发现的,您始终可以访问mesh.exteriorFaces
来获取定义整个网格边界的面(即,只有一个单元格的面)一边)。使用Physical Surface
定义的Gmsh域不一定受mesh.exteriorFaces
限制。
关于python - 将网格导入 Fipy 后如何从 python 访问 gmsh 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59612531/
我是 fipy 的新手,所以如果这是一个愚蠢的问题,我深表歉意(并且 this 似乎对我没有帮助)。但是,除了上面问题中建议的之外,还有其他方法可以以人类可读(或 python 可读)的形式存储 fi
我是 FiPy 的新手,我正在求解 3D 体积内电势的泊松方程。它对于表面边界条件工作得很好,但现在我需要在里面放置一个导体。这将是一个恒定的势表面,我意识到您不能将势能.constrain 用于内表
在 Mac(OS X 10.10.2 和 Python 2.7.6)上全新安装 FiPy 后,我尝试了文档中的一些示例,但它们没有用。因此,我使用内置测试例程(从 python shell 键入“fi
我正在尝试在 Python 中使用 FiPy 求解一些微分方程,作为新手,我仍然遇到一些问题。我所做的如下:定义一个单元变量,求解该变量的方程并更新它。我想在每次迭代后存储它的值。这是一个例子: a
我正在使用 fipy 对线性化的 Poisson-Boltzmann equation 建模, 这本质上是 我假设我可以将 f(x) 建模为边界条件。如果 epsilon(x) 是常量,fipy 可以
当我意识到命令 sweep 没有按照我想象的方式工作时,我试图使用 FiPy 来求解一组偏微分方程。这是包含我的部分代码的示例: from pylab import * import sys from
我正在尝试用 Python 求解偏微分方程组,使用 Fipy .我有一个至少包含 3 个 PDE 的系统。 我想知道哪种方法最适合解决此类系统? Fipy 同时支持 coupled and uncou
我正在尝试求解在给定域内几何变化的两个自变量。我想在单个查看器显示中绘制它们的方差。如何获得两个不同的等高线图,每个用于单个查看器框中的自变量?我对双轮廓使用了以下代码,但无法为两个变量(在我的例子中
我正在寻找使用 FiPy 求解扩散方程并阅读了他们的一些文档,但似乎找不到任何与编写包含作为自变量函数的附加项的扩散项相关的内容(即空间).我找到的最接近的东西是 FAQ ,他们建议将附加项重写为 C
我已经尝试了几个小时来安装 FiPy我已经安装了 Pip 和许多其他东西来让它工作。 Pip 成功安装了许多我需要的东西,但我无法让它为 PySparse 或 FiPy 工作。为什么我尝试安装 PyS
是否可以连接两个(或更多)网格?示例: import fipy meshA = fipy.Grid2D(nx=5, ny=3) meshB = fipy.Grid2D(nx=5, ny=6) mesh
我最近通过 MacPorts 将 FiPy 包及其所有依赖项安装到我的 Macbook 上。我可以轻松地将 FiPy 和 NumPy 作为 Python 中的包进行调用。 现在我已经可以使用它了,我想
我正在尝试在深度 ( h(t) ) 随时间变化的域上求解简单的扩散方程 (dT/dt = K d2T/dx2 )。因此,所得方程为: dT/dt = K/h^2 d2T/dx2 + z/h dh/dt
我尝试使用 Matlab 函数 Pdepe ( https://www.mathworks.com/help/matlab/ref/pdepe.html ) 求解平流扩散 react 问题的一维耦合偏
我想知道如何在 Fipy 中将 Dirac delta 函数表示为源项。我想解下面的方程 我尝试过以下代码 from fipy import * nx = 50 ny = 1 dx = dy = 0.
我正在尝试使用 FiPy 求解复杂的 PDE。 FiPY 似乎不支持复杂参数,一般建议似乎是拆分 PDE,分别求解然后重新组合。现在还是这样吗? 其次,我看不出有什么方法可以设置非常量初始条件。假设我
如何在不限制面内通量分量的情况下,将 fipy 网格中边界面的法向通量明确设置为特定值? Neumann 边界条件可以指定为:(1) 固定的垂直于边界面的通量分量,或 (2) 作为面处通量的完整规范。
我正在尝试使用 FiPy 解决非线性 PDE HJB 方程,但是我在将 PDE 转换为正确的 FiPy 语法时遇到了一些困难: 我试过类似的东西: eqX = TransientTerm() == -
我已经生成了一个 gmsh 网格,并通过 Gmsh2D 导入到 FiPy 中。我想解决表面问题以设置边界条件,但我不知道如何操作。 在我在文档中发现的 FiPy 示例中,建议命名某些行以便稍后处理它们
我在 3D 网格上有一个变量,我正在尝试切割一个平面图。我很惊讶以前没有人问过这个问题,它看起来是一个简单而常见的问题,但我还没有找到任何好的方法。如果有任何建议,我将不胜感激。 假设我有一个 3x3
我是一名优秀的程序员,十分优秀!