#input #quantum #chemical #package #running #gaussian #interface

rgaussian16

Gaussian16量子化学包的接口。该结构提供自动生成输入和运行外部程序g16的功能。

1个不稳定版本

0.1.3 2021年10月20日
0.1.2 2021年10月20日
0.1.1 2021年10月20日
0.1.0 2021年10月18日

#1170 in 数学


ezaimd中使用

MIT许可证

14KB
194 代码行

rgaussian16

Gaussian16量子化学包的接口。该结构提供自动生成输入和运行外部程序g16的功能。

由于配置与Gaussian相关联,可以使用多个Gaussian对象从Gaussian16提取不同的结果。这大大简化了与量子化学包的接口过程。

配置

一个示例配置文件。

config.yaml

---
mem: "136GB"
cpu: "0-47"
gpu: ~
checkpoint: "output.chk"
key_words: "#p WB97XD/Def2tzvpp SCF=XQC"
title: "single point"
charge: 0
multiplicity: 3

Gaussian16可以使用图形处理单元(GPU)运行。为了生成针对GPU的计算的输入,将~替换为适当的字符串。例如,将上述配置中的GPU字段更改为"0=0"将指示Gaussian16使用由CPU编号0控制的GPU。

有关使用GPU运行Gaussian16的更多信息,请参阅:https://gaussian.com/gpu/

示例用法

生成Gaussian对象,写入输入并运行g16


   use rgaussian16::Gaussion;

   fn main() -> Result<()> {

     let input_file = std::fs::File::create("input.com")?;
     let output_file = std::fs::File::create("output.out")?;
  
     let job1_config = std::fs::File::open("config.yaml")?;
     let job1_interface = Gaussion::new(config)?;
 
     job1_interface.gen_input(input_file)?;
     job1_interface.run(input_file, output_file)?;

	 Ok(())
   }

依赖项

~4–6MB
~108K SLoC