rgaussian16

Crates.iorgaussian16
lib.rsrgaussian16
version0.1.3
sourcesrc
created_at2021-10-18 19:15:29.596245
updated_at2021-10-20 14:33:55.278562
descriptionInterface for the Gaussian16 quantum chemical package. This structure provides functions for auto generating input, and running the external program g16.
homepage
repositoryhttps://github.com/JurassicBunny/rgaussian16
max_upload_size
id466987
size14,972
(JurassicBunny)

documentation

README

rgaussian16

Interface for the Gaussian16 quantum chemical package. This structure provides functions for auto generating input, and running the external program g16.

As configuration is tied to Gaussian, multiple Gaussian objects may be used to extract different results form Gaussian16. This greatly simplifies the processes of interfacing with the quantum chemical package.

Configuration

An example configuration file.

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 may be run with graphical processing units (gpus). In-order to generate input for gpu targeted calculations, replace ~ with the appropriate string. For example, changing the above configurations gpu field to "0=0" will instruct Gaussian16 to utilize one gpu controlled by cpu number 0.

For more information about running Gaussain16 with gpus, please read: https://gaussian.com/gpu/

Example Usage

Generate Gaussian object write input and run 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(())
   }
Commit count: 47

cargo fmt