FiPy 中的固定通量边界条件

2024-01-13

我对此主题有一个后续问题FyPi 中的耦合非线性方程 https://stackoverflow.com/questions/62640821/coupled-non-linear-equations-in-fypi。当对所有变量使用诺依曼边界条件(即保持电子和空穴的浓度以及边界处的电势恒定)时,我成功地建立了系统并获得了合理的结果。

方程组 https://i.stack.imgur.com/C23uB.png

现在,我想将其与电子(n)和空穴(p)的通量具有以下关系的情况进行比较:

边界条件 https://i.stack.imgur.com/PQkZ3.png

where n0(0), p0(0) are the equilibrium concentrations at the left boundary, similar equations would be for the right-hand side bounary. s is the recombination velocity.

我知道文档中的这个描述(https://www.ctcms.nist.gov/fipy/documentation/USAGE.html#applying-fixed-flux-boundary-conditions https://www.ctcms.nist.gov/fipy/documentation/USAGE.html#applying-fixed-flux-boundary-conditions)但不知道如何应用它。

由于边界条件考虑的是边缘处的浓度,因此变量应该是n、p、phi定义为 FaceVariables?您能帮我定义这些边界条件吗?


原始问题

让我们只考虑电子方程。在 FiPy 中,它看起来像这样,

eqn = TransientTerm(var=var_n) == G - R - DiffusionTerm(coeff_phi, var=phi) + DiffusionTerm(coeff_n, var=var_n) + boundary_condition

为了用正确的边界条件解决这个问题,我们需要将左侧扩散项中进出域的通量归零,并添加边界条件的通量。coeff_phi and coeff_n是取决于各种参数的扩散系数。coeff_phi还取决于n_var以及。为了将助焊剂的使用归零,

coeff_phi.constrain(0., mesh.facesLeft)
coeff_n.constrain(0., mesh.facesLeft)

要构建边界条件,请使用:

boundary_condition = (mesh.facesLeft * s * (n_var.faceValue - n0) / charge).divergence

我假设n0随着时间的推移而变化,所以应该是Variable对象根据其与时间的关系在时间步中更新。 我假设s是某种恒定的值。


将系数定义为 0(评论中的问题)

为了澄清,有两种方法可以在边界上保持零系数。

使用约束

给定一个定义为 FaceVariables 上的操作的系数,则以下内容将按预期工作(将左侧保持为零)。

from fipy import Grid1D, FaceVariable

mesh = Grid1D(nx=10, dx=0.1)
var0 = FaceVariable(mesh=mesh, value=1 - mesh.x.faceValue)
var1 = var0 * var0
print('before constraint:', var1)
var1.constrain(0, where=mesh.facesLeft)
print('after constraint:', var1)
var0[0] = 10.0
print('after var0 reset:', var1)

乘以~mesh.facesLeft

这是使用约束的另一种方法,可能更容易控制和理解。如果您不相信约束会做正确的事情,请使用此选项。~mesh.facesLeft是一个布尔数组,因此可以像约束一样使用。

from fipy import Grid1D, FaceVariable

mesh = Grid1D(nx=10, dx=0.1)
var0 = FaceVariable(mesh=mesh, value=1 - mesh.x.faceValue)
var1 = var0 * var0 * ~mesh.facesLeft
print('using ~mesh.facesLeft:', var1)
var0[0] = 10.0
print('after var0 reset:', var1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FiPy 中的固定通量边界条件 的相关文章

  • 如何编写嵌套的 __init__.py 文件

    我正在努力解决嵌套问题 init py在我正在编写的Python包中 该包具有以下架构 module init py submodule1 init py source py submodule2 init py source py sub
  • Python 切片对象和 __getitem__

    python 中是否有内部的东西来处理传递给的参数 getitem 不同 并自动转换start stop step构造成切片 这是我的意思的演示 class ExampleClass object def getitem self args
  • 使用python查找txt文件中字母出现的次数

    我需要从 txt 文件中读取该字母并打印 txt 文件中出现的次数 到目前为止 我已经能够在一行中打印内容 但计数有问题 有人可以指导吗 infile open grades txt content infile read for char
  • 稀有对象的 python 类型注释,例如 psycopg2 对象

    我了解内置类型 但是我如何指定稀有对象 例如数据库连接对象 def get connection and cursor gt tuple psycopg2 extensions cursor psycopg2 extensions conn
  • 多处理中的动态池大小?

    有没有办法动态调整multiprocessing Pool尺寸 我正在编写一个简单的服务器进程 它会产生工作人员来处理新任务 使用multiprocessing Process对于这种情况可能更适合 因为工作人员的数量不应该是固定的 但我需
  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • 在Python中从大文件中搜索单词列表

    我是新蟒蛇 我有一个单词列表和一个非常大的文件 我想删除文件中包含单词列表中的单词的行 单词列表按排序给出 并且可以在初始化期间输入 我正在努力寻找解决这个问题的最佳方法 我现在正在进行线性搜索 这花费了太多时间 有什么建议么 您可以使用i
  • 使用 Django 将文件异步上传到 Amazon S3

    我使用此文件存储引擎在上传文件时将文件存储到 Amazon S3 http code welldev org django storages wiki Home http code welldev org django storages w
  • Series.sort() 和 Series.order() 有什么区别?

    s pd Series nr randint 0 10 5 index nr randint 0 10 5 s Output 1 3 7 6 2 0 9 7 1 6 order 按值排序并返回一个新系列 s order Output 2 0
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • Python将文本文件解析为嵌套字典

    考虑以下数据结构 HEADER1 key value key value HEADER2 key value key value HEADER3 key value HEADER4 key value key value 原始数据中没有缩进
  • python中basestring和types.StringType之间的区别?

    有什么区别 isinstance foo types StringType and isinstance foo basestring 对于Python2 basestring是两者的基类str and unicode while type
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • 如何从namedtuple实例列表创建pandas DataFrame(带有索引或多索引)?

    简单的例子 from collections import namedtuple import pandas Price namedtuple Price ticker date price a Price GE 2010 01 01 30
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单

随机推荐

  • 确定给定金额的找零组合

    我的任务是使用暴力编写一个算法来确定不同方式的数量 以及给定数量的变化的相关组合 找零将使用以下硬币 便士 1 美分 镍币 5 美分 一角硬币 10 美分 和 25 美分 25 美分 e g 输入 16 表示变化16美分 输出 可以通过 6
  • 如何在Python中重塑networkx图?

    所以我创建了一种非常幼稚 可能效率低下 的生成哈斯图的方法 问题 我有 4 个维度 p q r s 我想统一显示它 超正方体 但我不知道如何重塑它 如何在 Python 中重塑 networkx 图 我见过一些人们使用的例子spring l
  • 调用 Windows 证书导出向导 .NET [重复]

    这个问题在这里已经有答案了 有谁知道如何在 C NET 中以编程方式调用 显示 Windows 证书导出向导 同时提供 X509 证书 我认为你必须 P InvokeCryptUIWiz 导出 http CryptUIWizExport来自
  • Python 中的最近邻搜索,无需 k-d 树

    我从 C 背景开始学习 Python 我正在寻找一种快速而简单的方法来查找多维点的 2D numpy 数组 也是 numpy 数组 中某些多维查询点的最近 最近邻居 我知道 scipy 有一个 k d 树 但我不认为这是我想要的 首先 我将
  • 为什么 int 到 long long int 的隐式转换在 C++ 中给出了意想不到的答案?

    我读到了这个转换int to long long int是升级 因此认为不应该有任何问题 因为不会丢失数据 与反之亦然的转换不同 但是当我乘以二时ints 具有较大的价值并将其存储在long long int 它向我显示负数 Eg int
  • Google Hangouts 网站按钮

    是否可以在我的企业网站上添加一个 Google Hangouts 按钮 单击该按钮即可向我发起呼叫 我有一个商业网站 我希望任何人都可以像嵌入在网站页面上的 Skype 按钮一样进行呼叫 我遇到的问题是我去了https developers
  • 如何在两个设备之间共享我使用 sqlite 数据库存储的所有数据,以便通过转储到另一个设备中来重用数据

    我已经实现了一个应用程序iPhone 目标 c 我用过SQLITE对于数据库 现在我需要分享数据 分享数据 我需要通过邮件发送数据 我附上我的数据库文件 可能是 csv 格式 通过转储数据在其他应用程序中重新使用我的数据 任何有用的回复 提
  • 命名空间“Microsoft.EntityFrameworkCore”中不存在类型或命名空间名称“Relational”

    在 VS 2017 中的 ASP Net Core 1 1 Web 应用程序中 我需要引用该包 Microsoft EntityFrameworkCore Relational 这是为了调用带有结果集的存储过程 如下所述 如何在 Entit
  • 使用 jsZip 将 url 中的图像添加到 zip 文件

    我正在尝试使用 jsZip 创建一个 zip 文件 zip 文件的内容是来自网络的图像 我创建了以下代码 但是当我运行它时 我得到的只是一个 22kb 的空 zip 文件
  • 沿 X 方向标记

    我从未使用过 Google 地图 API 对于我正在从事的学校项目 我需要在两个位置之间找到方向 这是简单的部分 我想我可以做到这一点 然而我还需要打一个X标记 沿途每 10 英里 这可能吗 谢谢 好的 这里有一个可行的解决方案 每 200
  • 将元素颜色重置为默认样式表颜色(jQuery、JavaScript)

    我需要能够在输入字段可能通过 javascript 更改为不同的值后将其重置回其原始颜色 问题是我不想对值进行硬编码 以防样式表发生变化 我想使用页面上使用的默认颜色 像这样重置颜色很好吗 或者有更好的方法吗 theinput css co
  • 比这更通用的 parfoldr

    我的目标是拥有并行的foldr 功能 起初 似乎 实现起来相当简单 这就是我的想法 首先根据输入列表的数量将输入列表分成多个分区 核心 numCapabilities 然后将foldr应用到每个分区 其中 将产生每个分区的折叠值列表 然后做
  • 使用 bash 仅提取传入电子邮件的正文部分

    I use offlineimap将邮件提取到 Maildir 文件夹中 我想自动解析 Maildir 文件夹中的所有新传入电子邮件 并仅将 发件人 主题 和 正文 作为即时消息发送到其他地方 所以我尝试处理所有邮件 MPATH Mail
  • Python SMTP 错误 10060

    有人可以给我一些关于为什么会出现这种情况的见解吗 mailServer smtplib SMTP smtp gmail com 587 和这个 mailServer smtplib SMTP smtp gmail com 587 正在说这样
  • 如何在 Team City 中运行所有 NUnit 测试?

    我们每次提交时都使用 TeamCity 6 0 构建 VS C 解决方案 构建完成后 另一个测试 TC 项目就会运行 为了让开发人员可以添加 删除 编辑 VS 单元测试项目 如何让 TeamCity 使用 sln 文件或搜索测试 dll 我
  • R中的模糊外连接/合并

    我有 2 个数据集 想要进行模糊连接 这是两个数据集 library data table data1 dt1 lt fread NAME State type ABERCOMBIE TOWNSHIP ND TS ABERDEEN TOWN
  • MacOS 终端:如何使用第二个 ssh 密钥?

    我正在 MacOS 上工作 想要使用第二个 ssh 密钥进行 SSH Git 登录 我在 ssh 中有两个密钥对 id rsa id rsa pub id rsa gitlab id rsa gitlab pub id rsa 和 id r
  • 如何获取 SLURM 数组作业中失败和已完成作业的计数

    我正在使用 slurm 运行多个数组作业 对于给定的数组作业 ID 假设为 885881 我想列出失败作业和已完成作业的计数 像这样的事情 Input
  • async 是否会使其中的所有内容异步?

    据 MDN 报道 async 函数声明定义了一个异步函数 我理解它是因为该函数将被视为异步进程 就像setTimeout或一些数据库请求 例如 在下面的示例中 进程应在数字之间的某个位置输出 main let func2 async gt
  • FiPy 中的固定通量边界条件

    我对此主题有一个后续问题FyPi 中的耦合非线性方程 https stackoverflow com questions 62640821 coupled non linear equations in fypi 当对所有变量使用诺依曼边界