Skip to content

moldis-group/cubeman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cubeman

cubeman is a small command-line tool and Python package for analyzing two molecular-orbital cube files.

It can:

  • read two Gaussian cube files,
  • check that their grids match,
  • normalize MO values using the voxel volume,
  • write psi1^2, psi2^2, and delta-density cube files,
  • compute orbital and density overlap measures,
  • compute positive/negative delta-density centroids,
  • optionally write overlap-field cube files and z-profile data.

Install for development

From the project directory:

pip3 install -e .

Normal install

pip3 install .

Usage

cubeman HOMO.cub LUMO.cub

Common options:

cubeman HOMO.cub LUMO.cub --extra-header-lines 1
cubeman HOMO.cub LUMO.cub --out-prefix homo_lumo_
cubeman HOMO.cub LUMO.cub --delta-sign 2-1
cubeman HOMO.cub LUMO.cub --write-overlap-cubes --write-z-profiles --write-summary

Output files

By default, the command writes:

  • psi1_density.cub containing rho1 = psi1^2
  • psi2_density.cub containing rho2 = psi2^2
  • delta_density.cub containing either rho1 - rho2 or rho2 - rho1

With --write-overlap-cubes, it also writes:

  • abs_mo_overlap.cub containing |psi1| |psi2|
  • density_overlap_field.cub containing rho1 rho2

Python API example

from cubeman.cube_io import read_cube, write_cube, check_same_grid, voxel_volume
from cubeman.analysis import analyze_pair

cube1 = read_cube("HOMO.cub", extra_header_lines=1)
cube2 = read_cube("LUMO.cub", extra_header_lines=1)
check_same_grid(cube1, cube2)

dv = voxel_volume(cube1.meta)
result = analyze_pair(cube1.data, cube2.data, dv)

write_cube("delta_density.cub", cube1.header, result.delta_rho)
print(result.overlaps["S_abs_psi"])

About

Codes to manipulate cube files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages