Metadata-Version: 2.4
Name: GauChkParser
Version: 0.1.20
Summary: A parser for Gaussian .chk format
Author: YujieLiu
Author-email: 
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: C++
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# A parser for reading Gaussian .chk binary file



# Introduction

The Python module extracts common basic information from **Gaussian** `.chk` binary file (Must generated by Gaussian `x64` version, `g09`/`g16` is OK), facilitating ***more efficient*** direct processing in subsequent steps. It does `NOT` rely on external tools (e.g., formchk).



# Features

* Basic atomic information, such as element names, coordinates

* Hessian matrix (`3N*3N symmetric matrix`)

* Orbital Energies. MO coefficients

* The Shell types, The number of primitives per shell, Contraction coefficients, Primitive exponents, etc.

* write gjf, fchk file

* Total/Spin Density matrix if it exists

* TODO ...



# NOTE

`ONIOM` is currently not supported



# Installation

```
pip install GauChkParser
```



# Python API

Full API documents https://gauchkparserdoc.readthedocs.io/en/latest/index.html



# Example

First import GauChkParser module
```python
from GauChkParser import ChkReader
```



Use `ChkReader` class to read your Gaussian `.chk` binary file

```python
obj = ChkReader("yourjob.chk")
mol = obj.params.mol

print(f'Route: {obj.params.route}')
print(f'Natoms: {mol.natoms}')
print(f'Total charge: {mol.totchg}')
print(f'Multiplicity {mol.multiplicity}')
print(f'Element names: {mol.names}')
print(f'Coords (Angstrom): {mol.coords}')
print(f'Hessian Matrix: {mol.hessian}')
print(f'Cell size: {mol.cell}')

# write gjf file
obj.write_gjf("XXX.gjf")
```

