================================
分享一个 Jupyter 程序:用于计算物理和化学性质。
感谢论文的原作者!
================================
主要内容
“交互式笔记本是创建图形用户界面和教学材料的宝贵工具。在这种情况下,Python和Pythonyter变得越来越流行,Pythonyter小部件是交互功能的核心。然而,虽然存在提供广泛的通用部件的包和库,但用于计算物理,化学和材料科学的专用部件的开发有限。这一缺陷意味着在这些领域的研究和教育中开发有效的笔记本电脑需要大量的时间投资。在这里,我们介绍了我们开发的定制的Xueyter小部件,以满足这些社区的需求。这些小部件构成了高质量的交互式图形组件,例如,可用于可视化和操作数据,或探索概念的不同视觉表示,澄清它们之间存在的关系。此外,我们还讨论了一个例子,如何类似的功能可以暴露在扩展的形式,修改的XuanyterLab接口,以增强用户体验时,与目标科学领域内的应用程序。”——取自文章摘要。================================
================================
Fig. 1.使用我们的定制小工具bzvisualizer小工具(右上角)显示晶体结构的第一个布里渊散射区的笔记本电脑屏幕截图。该笔记本允许用户比较倒易空间(布里渊区,右)和真实的空间(原子和周期单元,左,通过NGLView小工具显示[6,7])中晶格的外观。该笔记本用作交互式网络应用程序,可在https://www.osscar.org/courses/index.html(“晶体的能带理论”部分,笔记本“互易空间和布里渊区”)上在线获得。(For对于图中颜色的解释,读者可参考本文的网络版。)
图2. 演示在任何Jupyter笔记本电脑中使用我们的布里渊区可视化仪所需的最小工作量。(a)Python代码需要包含布里渊散射区可视化器。(b)当disable_interact_overlay设置为true时小工具的外观。(c)当disable_interact_overlay设置为false时小部件的外观:灰色覆盖层用于指示禁用的交互。图3.Jupyter小部件的代码体系结构示意图,带有我们的BZ可视化小部件的具体示例(左图);以及该小部件在Jupyter笔记本中的使用(右图)。Python后端的中心部分是Traitlet属性集,它允许与JavaScript前端同步数据。Anywidget库提供了一种简单明了的方式将Traitlet链接到支持任何定制可视化的JavaScript前端(例如,在本例中,Three.js Javascrip库用于在浏览器中呈现3D对象)。用户可以通过在Jupyter输入单元格中编写Python代码来初始化Jupyter笔记本中的Jupyter小部件。相应的可视化显示在相应的输出单元格中。然后,用户可以通过修改Traitlet属性(在相同或不同的单元格中)来更新小部件,并且效果直接反映在小部件可视化中。
================================
以上是我们分享的一些经验或者文章的搬运,或有不足,欢迎大家指出。若留言未回复,重要的消息可以留言再提醒一下。
如有侵权,请联系我们立马删除!
👇
文章题目:
Jupyter widgets and extensions for education and research in computational physics and chemistry
文章链接:
https://linkinghub.elsevier.com/retrieve/pii/S0010465524002765
👇