openmolcas的轨道查看器

Pegamoid的Python项目详细描述


聚乙二醇

Pegamoid是一种特别适合与 openmolcas。它可以用来查看 轨道和快速选择活动空间用于CASSCF或RASSCF 计算。

功能

可以打开以下格式:

  • HDF5文件,由某些(开放的)MOLCAS模块(如SCF或RASSCF)生成,如果使用HDF5支持进行编译。

  • inporb文件由一些(打开的)molcas模块(如scf或rasscf)生成,前提是同一系统的hdf5文件已先打开。

  • molden文件。

  • luscus文件,由网格IT模块生成。

  • 网格文件(ASCII),由网格模块生成。

  • 多维数据集文件(格式化)。

对于hdf5、inporb和molden文件,轨道是从 基集,可以改变采样分辨率和形状 采样卷的大小。luscus、grid和cube文件包含预计算的 体积数据,并且只能显示现有数据。

根据输入文件中的可用性,以下特性和对象 支持:

  • 选择轨道。

  • 旋转的选择。

  • 对称性选择不可恢复。

  • 自然平均轨道或特定于州的轨道。

  • 电子密度和拉普拉斯。

  • 自然平均或状态特定的自旋轨道。

  • 自旋密度。

  • 自然差分轨道。

  • 差异、附着和分离密度。

  • 自然过渡轨道。

  • 孔和颗粒密度。

对于任何轨道或密度,可以计算和显示梯度线 (对电子密度特别重要)。可以计算密度 对于减少的轨道子集(例如,仅对于活动轨道), 用户可以为每个轨道写任意注释。

用于显示isurfaces的值、不透明度、颜色和纹理属性可以 可以调整并切换以下元素的显示:

  • 等值面的正负部分。

  • 节点表面。

  • 原子核和键。

  • 原子标签。

  • 音量盒。

最后,轨道的类型(非活动的,活动的…)可以改变,并且 轨道以以下格式保存,可在(打开的)molcas程序中使用:

  • HDF5格式。

  • inporb格式。

或将当前体积数据或快照保存为:

  • 立方体格式。

  • PNG图像。

安装

安装pegamoid的推荐方法是使用pippackage 经理

pip install Pegamoid

(您可能还需要添加标志--upgrade和/或--user)。

然后你就跑:

pegamoid.py [filename]

其中,[filename]是要打开的可选支持文件。在这种情况下 inporb文件,您可以提供两个文件名(按任意顺序):inporb文件和 相应的HDF5文件。

还有其他的方法可以得到Pegamoid。一种是克隆git存储库,例如

git clone https://gitlab.com/Jellby/Pegamoid.git

另一种方法是,由于pegamoid包含在一个python脚本中,所以 只下载脚本文件 pegamoid.py

一旦获取程序,就可以直接运行或通过python运行 解释器,没有安装EDED,即

./pegamoid.py [filename]

python pegamoid.py [filename]

但是,脚本有一些要求(这应该由 pip,如果您使用它)必须安装才能工作:

  • Python2或Python3(至少测试过2.7和3.4版)。

  • 带有python绑定的qt。pyqt 4、pyqt 5和pyside已经过测试。它是 建议安装python模块qtpy(pyside需要)。

  • 带有python绑定的vtk。版本8.1.0已经过测试,以前的版本 很可能不起作用。

  • numpy和h5py python模块。

  • 默认情况下可能未安装的其他python模块 如果有的话,在运行Pegamoid时需要哪一个。

使用暂存磁盘空间

为了加速几个轨道的显示和密度的计算, pegamoid使用一些暂存磁盘空间来存储计算的基函数。一 名为pegamoid.cache的文件将在临时位置创建(通常 在/tmp目录中)。多点多基网格 函数,此文件可能会变得非常大,甚至会耗尽所有可用的磁盘 空间。默认情况下,最大划痕大小为1 GiB,但可以在 "file>;set scratch",或通过环境变量 pegamoid_maxscratch,例如:

PEGAMOID_MAXSCRATCH=100MB ./pegamoid.py

最大大小为100 MB。如果划痕尺寸不足以容纳所有 当前分辨率下的基函数,仅在计算时使用 密度。在"set scratch"窗口中,您还可以找到 实例特定的临时路径以及最大缓存大小 当前使用的大小,以及允许保留所有缓存的建议大小 基本功能。scratch文件和目录在一个干净的出口上被删除,但是 如果程序崩溃或异常中断,它们可能会被留下 后面.

与远程连接一起使用

生产计算通常不在本地计算机上运行,而在某些计算机上运行 像超级计算机一样的远程服务器。要查看/保存/修改轨道文件,请执行以下操作 始终可以在本地和远程计算机之间传输文件。它 但是,直接在远程机器上运行pegamoid更方便 在本地机器上有图形界面显示。不幸的是 是一些困难使这变得不平凡。

首先,远程系统中可能没有安装不同的要求。一 可能的解决方案是为用户帐户安装它们,例如。 pip安装--用户。在这种情况下,可能更容易安装qtpy 和pyside而不是pyqt。

然后,vtk可视化使用一些高级opengl特性,这些特性可能不是 可与所有图形驱动程序一起使用,使其具有挑战性 通过远程连接工作。我们成功地与Pegamoid合作 vglrunthinlinc会话或vnc 会话直接从ssh连接打开。具体需要和工作 解决方案可能取决于 远程计算机。

已知问题

在某些系统中,三维窗口中存在显示问题,其中有些元素 被错误地画在其他的上面(这不是指原子名, 总是在上面)。Pyqt5已经发现了这个问题, 通常通过切换到pyqt 4或安装qtopengl支持(在 "关于"对话框,检查"qt api"行是否显示"with qtopengl")。

没有出现"transform"和"texture"窗口的问题 在一些pyqt 4版本中报告。目前还不清楚 原因。

当在kde plasma 5中运行时,由于kde尝试 聪明点并覆盖它们(请参见 例如这里)。要解决这个问题, 您可以添加到~/.config/kdeglobals文件:

[Development]
AutoCheckAccelerators=false

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java swing,将数组列表添加到组件   gwt开发模式运行时的java服务器端测试用例   网格窗格中的java居中按钮和文本(JavaFX)   java heroku Getting at=error code=H13 desc=“连接关闭而无响应”method=GET path=“/api/test”service=28795ms status=503   java在批处理中使用JDBC preparedStatement   按钮文本的java Selenium css选择器   Spring boot未在maven项目中从soap wsdl生成java类。这是我的pom。xml   java如何向POST restful服务发送json数据   servlet线程的java数据库连接?   java ViewPager事件在从用户注销时给我错误   在Java8中检查列表是否同时为空和非空   java相对路径:无法为访问配置文件选择正确的相对路径   用playframework存储二进制密码哈希的java   java第三方JAR创建日志文件   安卓在java中使用常量1的按位移位的优势   Java使用for循环平均从键盘读取的分数集   java我想在同一活动中停止后重新启动相机源   java为什么if-else语句不能按预期工作?输入问题