目次

Jacapo Reference

Python interface to the Fortran DACAPO code

Constructor

Initialize the Jacapo calculator

__init__(self, nc='out.nc', outnc=None, deletenc=False, debug=30, stay_alive=False, **kwargs)

Parameter

keyword type default value notes
nc string 'out.nc' output netcdf file, or input file if nc already exists
outnc string None output file. by default equal to nc 
deletenc Boolean False If True, the ncfile is deleted if it exists.1)
debug integer 30 logging debug level. 2))
stay_aliveBoolean False
kwargs dictionary Keyword arguments

Keyword arguments

keyword type notes
atoms ASE.Atoms instance atoms is an ase.Atoms object that will be attached to this calculator.
pwintegersets planewave cutoff
dwintegersets density cutoff
kptsiterableset chadi-cohen, monkhorst-pack kpt grid, e.g. kpts = (2,2,1) or explicit list of kpts
spinpolBooleansets whether spin-polarization is used or not.
fixmagmomfloatset the magnetic moment of the unit cell. only used in spin polarize calculations
ft floatset the Fermi temperature used in occupation smearing
xc  stringset the exchange-correlation functional.  one of ['PZ','VWN','PW91','PBE','RPBE','revPBE'],
dipole booleanturn the dipole correction on (True) or off (False)
dictionary parameters to fine-tune behavior
nbands integerset the number of bands
symmetryBooleanTurn symmetry reduction on (True) or off (False)
stressBooleanTurn stress calculation on (True) or off (False)3)

Sample of dipole dictionary (Default on True-case):

dipole = {'status':False,
          'mixpar':0.2,
          'initval':0.0,
          'adddipfield':0.0,
          'position':None}

Class methods

Static methods

read_atoms(filename)

read atoms and calculator from an existing netcdf file.

Parameters

keywordtypenotes
filenamestringname of file to read from.

example

atoms = Jacapo.read_atoms(ncfile)
calc = atoms.get_calculator()

this method is here for legacy purposes. I used to use it alot.

Function

function read in module ase.calculators.jacapo.jacapo:

read(ncfile)

return atoms and calculator from ncfile

example

atoms, calc = read('co.nc')

Notes

  Modification of the nc file only occurs at calculate time if needed

we read everything directly from the ncfile to prevent triggering any calculations  

calc = Jacapo('CO.nc')

  reads the calculator from CO.nc if it exists or minimally initializes CO.nc with dimensions if it does not exist.   

calc = Jacapo('CO.nc', pw=300)

  reads the calculator from CO.nc or initializes it if it does not exist and changes the planewave cutoff energy to 300eV  

atoms = Jacapo.read_atoms('CO.nc')

  returns the atoms in the netcdffile CO.nc, with the calculator attached to it.  

atoms, calc = read('CO.nc')
1)
determines whether the ncfile is deleted on initialization so a fresh run occurs. If True, the ncfile is deleted if it exists.
2)
Level for logging could be something like logging.DEBUG or an integer from 0 to 50.  The higher the integer, the less information you see set debug level (0 = off, 10 = extreme
3)
ase.calculators.jacapo.jacapo.DacapoInput: stress keyword is deprecated. you must use calculate_stress instead