首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FiPy内部传导边界条件

FiPy内部传导边界条件
EN

Stack Overflow用户
提问于 2015-10-14 02:13:12
回答 1查看 447关注 0票数 1

我是FiPy的新手,我正在解三维体积内的位势的泊松方程。它在表面边界条件下工作得很好,但现在我需要在里面放置一个导体。这将是一个恒定的势能曲面,我意识到你不能将potential.constrain用于内部曲面。

文档建议将ImplicitSourceTerm与定义表面的掩模一起使用,但尚不清楚如何将其用于约束电位恒定,或等效地约束电场使其垂直于表面。这个是可能的吗?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-10-22 21:56:50

http://www.ctcms.nist.gov/fipy/documentation/USAGE.html#applying-internal-boundary-conditions上的讨论准确地描述了您正在尝试做的事情。不过,我想我知道为什么它不适合你了。在声明ImplicitSourceTerm时,FiPy必须注意不要将负值添加到矩阵的对角线上,因此它检查ImplicitSourceTerm系数的符号,并将它们与已经放入矩阵中的DiffusionTerm (和其他元素)中的对角元素的符号进行比较;如果符号相反,则FiPy显式地处理这些单元格(将所有内容都放在RHS向量上)。

如果你声明你的方程式(就像我最初做的那样)

代码语言:javascript
复制
eq = (fp.DiffusionTerm(coeff=dielectric) + charge ==   
      conductor * largeValue * conductorPotential
      - fp.ImplicitSourceTerm(coeff=conductor * largeValue)

然后,关于导体的一切都放在RHS向量上,隐式求解器永远不会“看到”它。如果你颠倒最后两项的顺序,那么conductor * largeValue被放在矩阵对角线上,conductor * largeValue * conductorPotential被放在RHS上,这些单元的解变得由conductorPotential主导。

简而言之,我要说的是(对于FiPy (在本例中))您是否说

代码语言:javascript
复制
V == conductorPotential

代码语言:javascript
复制
conductorPotential == V

我在https://gist.github.com/guyer/a61d5adfa9a050eb970a上发布了一个IPython笔记本

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33109744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档