深研院潘锋团队在发展图论结构电化学与AI相融合应用于尿素电催化机理研究取得进展

电催化是实现可持续能源转化、减碳减排的关键技术。对电催化反应路径的认识是合理设计催化剂的前提,受限于复杂的表面动态效应和庞大的反应网络,这需要发展新的研究范式来实现催化反应路径的高效预测。北京大学深圳研究生院新材料学院潘锋教授团队将数学的图论和结构化学相融合,把材料中的原子当作图论的点,原子间的化学键当作图论的边,创新性地提出一种基于图论的结构化学研究方法(sci china chem, 2019, doi: 10.1007/s11426-019-9502-5)解决了晶体学同构判断的难题,建立了拥有65万晶体结构的大数据系统,并以此发展材料基因组学和ai for science(ai4s)的研究,将其应用于低维材料的发现(national science review, 2022, doi: 10.1093/nsr/nwac028)和新型固态电解质的设计(j. am. chem. soc. 2024, 146, 27, 18535-18543)。

近日,潘锋团队将该方法进一步扩展用于电化学催化反应研究,发展了图论结构电化学,诠释了电催化尿素合成反应的机理,结合AI发展了基于图表示、图同构和机器学习的主动学习框架,可以实现从包含数百个中间物种反应网络中快速预测最优热力学路径的方法。该方法可以显著减小全局探索反应路径所需的计算量,为高通量设计新型催化剂提供一条新途径。相关研究成果以“Automating discovery of electrochemical urea synthesis reaction paths via active learning and graph theory”为题,发表在中国化学会旗舰期刊CCS Chemistry 2024, 7, 1-14。

涉及多电子转移的电化学反应通常具有一个庞大的反应网络特征,该网络包含了大量基元反应。探索最可能的反应路径是催化机制分析中的核心任务。量子化学方法,如密度泛函理论(DFT),常被用来阐明反应机制。然而,由于化学直觉的局限性和计算需求,这些方法通常仅适用于简单的反应过程,在处理具有非均匀结构或组成的复杂反应网络时会遇到困难。这一问题在二氧化碳电还原为多碳产物和电化学C-N偶联等蓬勃发展且广受关注的领域中尤为重要。为降低计算成本,研究者们已开发了多种AI机器学习算法并取得进展,但其中大多数仅在静态、完整的金属和合金表面以及典型反应上进行了验证。值得注意的是,当前大部分机器学习替代模型中忽略了催化剂表面重构的动态效应。然而,在研究涉及大分子、高覆盖率吸附物和活性表面的电化学反应时,表面动态效应尤为重要。在该情景下,AI机器学习替代模型的核心挑战在于难以准确评估重构表面和吸附物的能量,进而难以实现最优路径的预测。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

深研院潘锋团队在发展图论结构电化学与AI相融合应用于尿素电催化机理研究取得进展

电催化剂反应网络复杂性及动态重构示意图

潘锋团队引入了一种结合图论和AI主动学习循环的工作流程,以解决复杂表面电催化反应路径预测这一长期存在的挑战。通过图论方法,以尿素电化学催化合成为例,遍历了其催化合成反应中大多数键重排类型及相应的重构模式,通过AI机器学习方法对反应网络中间体稳定性和形成能进行预测,降低了密度泛函理论的计算成本。以在氮掺杂石墨烯作为催化剂为例,该图论结构电化学理论在尿素电催化合成这一反应中得到验证,说明该理论框架的有效性。该反应体系在工作条件下发生显著动态结构重构。整个反应网络包含901个反应物种,利用该框架,只需计算其中的40%就可实现对反应网络能量学的评估并得到过电势。此图论结构电化学框架可以扩展到其他复杂的电化学反应,并在最小程度依赖精确量子化学计算的前提下,促进过电位的快速估算,从而为真实条件下催化机制的自动化计算分析铺平道路。

AI智研社 AI智研社

AI智研社是一个专注于人工智能领域的综合性平台

AI智研社 15 查看详情 AI智研社

深研院潘锋团队在发展图论结构电化学与AI相融合应用于尿素电催化机理研究取得进展

主动学习流程概述

潘锋、北京大学深圳研究生院新材料学院李舜宁副研究员为本文通讯作者。北京大学深圳研究生院新材料学院博士生毕业生、现任厦门大学特任副研究员郑世胜为本文第一作者。论文得到国家自然科学基金、广东省和深圳市相关平台支持。

以上就是深研院潘锋团队在发展图论结构电化学与AI相融合应用于尿素电催化机理研究取得进展的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/609174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月11日 00:13:15
下一篇 2025年11月11日 00:19:14

相关推荐

  • Pycord discord.ui.Modal:安全传递自定义参数的教程

    本文旨在指导开发者如何在 Pycord 库的 discord.ui.Modal 类中安全地传递自定义参数。文章将深入探讨直接覆盖 __init__ 方法可能引发 AttributeError: ‘custom_id’ 的原因,并提供通过正确调用 super().__init_…

    2025年12月14日
    000
  • Python生成器中StopIteration异常捕获的陷阱与解决方案

    在Python生成器中,直接在生成器表达式外部使用try…except StopIteration无法捕获其内部因next()耗尽迭代器而产生的StopIteration异常。这是因为异常发生于生成器表达式的独立作用域内部,且在Python 3.7+中,此类未被内部处理的StopIter…

    2025年12月14日
    000
  • 如何在Django表单中正确处理可选的ForeignKey字段

    在Django应用中,当模型层的ForeignKey字段被标记为可选(blank=True, null=True)时,如果在ModelForm中对这些字段进行了自定义(例如指定了queryset),表单验证可能会错误地将其视为必填项。本文将详细解释这一问题的原因,并提供通过在forms.ModelC…

    2025年12月14日
    000
  • 在 discord.ui.Modal 中传递自定义参数的正确姿势

    本文旨在解决在 discord.ui.Modal 子类中通过 __init__ 方法传递自定义参数时遇到的 AttributeError: ‘custom_id’ 问题。核心解决方案是在自定义的 __init__ 方法中调用 super().__init__(),以确保父类 …

    2025年12月14日
    000
  • Python TypeVars与联合类型:理解约束与灵活绑定的兼容性

    本文探讨了Python中TypeVar与联合类型 (Union) 之间在类型检查时可能出现的兼容性问题。当TypeVar被定义为严格约束类型时,直接传入联合类型会导致类型检查器报错。文章提供了两种主要解决方案:一是将联合类型显式添加到TypeVar的约束列表中,以允许其被推断为联合类型;二是使用带有…

    2025年12月14日
    000
  • 如何在Pandas DataFrame中利用字典和子字符串匹配添加分类列

    本教程旨在解决如何在Pandas DataFrame中,根据一个包含关键词-类别映射的字典,为现有列动态添加一个分类列。当字典中的键是DataFrame列值中的子字符串时,直接使用map函数无法满足需求。我们将详细讲解如何利用apply函数结合自定义的lambda表达式,实现高效且灵活的子字符串匹配…

    2025年12月14日
    000
  • SQLAlchemy 动态 WHERE 子句构建教程

    本教程旨在指导读者如何在 SQLAlchemy 中灵活构建动态 WHERE 查询条件。针对传统静态查询无法满足多变业务需求的问题,文章提出了一种核心策略:将查询条件抽象为可迭代的表达式列表,并通过遍历应用这些条件。教程将通过详细代码示例,展示如何实现动态条件的应用,并探讨如何从字典等动态输入中构建这…

    2025年12月14日
    000
  • 深入理解Python生成器中StopIteration异常的捕获机制

    在Python中,当尝试在生成器表达式内部捕获StopIteration异常时,常常会遇到意外的RuntimeError。本文将深入探讨为何直接在外部try…except块中捕获由next()调用在生成器表达式内部引发的StopIteration会失败,并解释该异常如何以RuntimeE…

    2025年12月14日
    000
  • Pandas DataFrame行提取教程:避免eq()与列表类型不匹配的陷阱

    本教程深入探讨了在Pandas DataFrame中根据聚合结果(如idxmax())进行行提取时,因数据类型不匹配(将单元素列表误用作标量字符串)导致返回空DataFrame的常见问题。文章详细解释了Series.eq()方法对输入类型(列表与标量)的期望,并提供了通过列表解包(ddate[0])…

    2025年12月14日
    000
  • python如何遍历一个字典的键和值_python高效遍历字典key和value的技巧

    最推荐使用dict.items()遍历字典键值对,因其可读性强、效率高且内存友好;若只需键或值,可分别使用keys()或values();修改字典时应避免直接迭代原对象,宜通过副本或字典推导式操作。 在Python里,想把字典里的键和值都拿出来溜达一圈,最直接、也最推荐的方法就是用items()。它…

    2025年12月14日
    000
  • 如何使用Django从用户资料预填充表单字段

    本文详细介绍了在Django应用中,如何利用用户的个人资料信息(如全名)来预填充表单字段。核心方法是在处理GET请求时,通过Django表单的initial参数传递预设值,从而提升用户体验。文章将通过具体的代码示例,展示如何在视图函数中正确获取用户资料并将其应用到表单中,同时强调了在POST请求中避…

    2025年12月14日
    000
  • Python怎么从字典中删除一个键值对_Python字典键值对删除操作

    删除Python字典键值对主要有四种方式:1. 使用del语句可直接删除指定键,但键不存在时会抛出KeyError;2. 使用pop()方法能删除并返回对应值,且可通过default参数避免KeyError;3. popitem()用于移除并返回最后一个插入的键值对,适用于LIFO场景;4. 字典推…

    2025年12月14日
    000
  • SQLAlchemy 动态 WHERE 条件构建与应用指南

    首先,本教程详细阐述了如何在 SQLAlchemy 中灵活构建动态 WHERE 查询条件。面对客户端输入的多变需求,我们通过将查询条件抽象为可迭代的列表,并结合一个通用函数进行动态应用,从而实现高度可配置的数据库查询。文章还提供了将字典形式的输入转换为 SQLAlchemy 条件表达式的实用方法,确…

    2025年12月14日
    000
  • 解决Django中自定义ForeignKey表单字段的必填问题

    本教程旨在解决Django应用中,尽管模型层已将ForeignKey字段设置为可选(blank=True, null=True),但在自定义表单中该字段仍被强制要求填写的问题。核心解决方案是在自定义的forms.ModelChoiceField中明确设置required=False,以确保表单验证与…

    2025年12月14日
    000
  • SQLAlchemy 动态 WHERE 子句构建指南

    本文旨在指导读者如何在SQLAlchemy中构建动态的WHERE子句。通过将查询条件抽象为可迭代的表达式列表,并利用循环迭代应用这些条件,我们可以根据外部输入灵活地增减查询过滤逻辑,从而实现高度可定制化的数据查询,有效应对客户端多样化的查询需求。 1. 理解动态查询的需求 在传统的SQLAlchem…

    2025年12月14日
    000
  • 解决Python requests循环请求中遇到的401未授权错误

    在Python使用requests库循环抓取数据时,频繁请求可能导致服务器返回401未授权错误。本文将详细介绍如何通过引入重试机制、设置请求延迟以及利用多线程并发处理来构建一个健壮的网络爬虫,有效应对此类问题,确保数据稳定获取,同时优化抓取效率。 理解HTTP 401未授权错误及其成因 HTTP状态…

    2025年12月14日
    000
  • 解决Selenium启动Chrome浏览器SSL证书验证失败问题

    本文旨在帮助解决在使用Selenium和Python启动Chrome浏览器时遇到的SSL证书验证失败问题。通过分析错误信息,我们发现问题源于无法验证googlechromelabs.github.io的SSL证书。本文将提供一种简单有效的解决方案,利用Selenium Manager自动管理Chro…

    2025年12月14日
    000
  • 解决Selenium Python启动Chrome浏览器SSL证书验证失败问题

    本文旨在帮助解决在使用Selenium和Python启动Chrome浏览器时遇到的SSL证书验证失败问题。通过分析错误堆栈信息,我们发现问题源于webdriver_manager尝试下载ChromeDriver版本信息时无法验证SSL证书。本文将提供一种简便的解决方案,利用Selenium Mana…

    2025年12月14日
    000
  • 解决 FastAPI 异步路由中无限循环导致的死锁问题

    在 FastAPI 应用中,如果需要在异步路由中执行无限循环,直接使用 while True 可能会导致整个应用死锁,其他路由无法响应。这是因为异步函数在执行时,如果没有适当的让出控制权,会阻塞事件循环,导致 FastAPI 无法处理其他请求。下面将介绍两种避免死锁的解决方案。 使用 Backgro…

    2025年12月14日
    000
  • 理解 train_test_split 的返回值与 DataFrame 处理

    train_test_split 函数是 scikit-learn 中用于将数据集划分为训练集和测试集的重要工具。理解其返回值类型至关重要,因为它直接影响后续模型的训练和评估。该函数接受任意数量的索引对象作为输入,并返回一个包含 2 倍于输入数量的列表,分别对应训练集和测试集。此外,需要注意的是,当…

    2025年12月14日
    000

发表回复

登录后才能评论
关注微信