====== gettotaldensity ======
#!/usr/bin/env python
import string
from math import log10
from optparse import OptionParser
from Dacapo import Dacapo
from ASE.IO.Cube import WriteCube
cmd = OptionParser(usage = '%prog input_nc_file output_cube_file')
(opt, argv) = cmd.parse_args()
if len(argv) != 2:
cmd.print_help()
raise SystemExit
ncfile = argv[0]
cubefile = argv[1]
basename = string.split(cubefile, '.cube')
model = Dacapo.ReadAtoms(ncfile)
calculator = model.GetCalculator()
if not calculator.GetSpinPolarized():
filename_total= basename[0] + '.cube'
else:
filename_total= basename[0] + '_total.cube'
filename_diff= basename[0] + '_diff.cube'
filename_spin0= basename[0] + '_spin0.cube'
filename_spin1= basename[0] + '_spin1.cube'
density0 = calculator.GetDensityArray(spin = 0)
density1 = calculator.GetDensityArray(spin = 1)
WriteCube(model, density0, filename_spin0)
WriteCube(model, density1, filename_spin1)
diff = density1 - density0
WriteCube(model, diff, filename_diff)
density = calculator.GetDensityArray()
WriteCube(model, density, filename_total)
===== Usage =====
$ gettotaldensity
usage: gettotaldensity input_nc_file output_cube_file
options:
-h, --help show this help message and exit
$