Essential Dacapo | ||
Minimal headers | from Dacapo import Dacapo | |
from ASE import Atom, ListOfAtoms | ||
Geometry setup | ||
atomic positions | ListOfAtoms() |
a=ListOfAtoms(([Atom('El',
(x, y, z)), ...], (x,y,z) internal coordinates; El- chemical symbol |
reading old configuration | ReadAtoms() | a =
Dacapo.ReadAtoms('file') |
defining of the unit cell | SetUnitCell() |
a.SetUnitCell(a,b,c,) |
magnetic moment | SetSpinPolarized() | a.SetSpins((1,1)) |
accessing atomic properties | GetCartesianPositions() |
a[1].GetCartesianPosition() |
GetKineticEnergies() |
||
setting up calculations | SetCalculator() |
calc = Dacapo(atoms=a) |
SetCalculator() | a.SetCalculator(calc) |
|
a.GetPotentialEnergy() |
||
Charge related stuff | ||
correction for a dipole | DipoleCorrection() |
calc.DipoleCorrection( |
moment in slab calculations | mixingparameter=0.2,initialvalue=0.0) |
|
Electrostatic decoupling in 3D | SetElectrostaticDecoupling() |
calc.SetElectrostaticDecoupling( |
numberofgaussians=3,ecutoff=100) |
||
extra dipole for a slab | ExternalDipolePotential() |
|
extra charge | ExtraCharge() |
|
IO control | ||
Naming files | SetNetCDFFile() |
calc.SetNetCDFFile('test.nc') |
SetTxtFile() |
calc.SetTxtFile('test.txt') |
|
details to be saved | PrintElectronicWorkfunction() |
|
CalculateAtomicDOS() |
||
PrintAtomProjectedDOS() |
||
Geometry optimization | ||
atomic relaxation | Dynamics |
dyn
= ConjugateGradient(a, fmax=number, default: number=0.05 |
external provided by ASE |
ConjugateGradient(...) | |
---|---|---|
Converge() | ||
dyn.Converge() |
||
SetSymmetryOff() |
||
unit cell stresses | CalculateStress() |
calc.CalculateStress(True) |
Electronic structure | ||
Basic setup | SetPlaneWaveCutoff() |
calc.SetPlaneWaveCutoff(340) |
SetNumberOfBands() |
calc.SetNumberOfBands(N)
NO DEFAULT |
|
XC functional | SetXCFunctional(exc) |
calc.SetXCFunctional('PW91') also: 'VWN' , 'PBE' ,'RPBE' |
k sampling | SetBZKPoints(kpts) |
calc.SetBZKPoints(8,8,8) and ChadiCohen |
efficiency | calc.SetOccupationStatistics( 'MethfesselPaxton') default: 'FermiDirac' |
|
SetPseudoPotential(PSP) | ||
SetElectronicTemperature(temp) |
default: temp=0.2 eV
[kT] |
|
SetChargeMixing() |
calc.SetChargeMixing(True) default: False |
|
calc.SetKerkerPreconditioning(True) default: False |
||
calc.SetEigenvalueSolver('rmm-diis') default: 'eigsolve' |
||
SetSpinPolarized() |
calc.SetSpinPolarized(True) |