SIESTA
I strongly recommend SIESTA. From the site:
SIESTA is both a method and its computer program implementation, to perform efficient electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids. SIESTA's efficiency stems from the use of a basis set of strictly-localized atomic orbitals. A very important feature of the code is that its accuracy and cost can be tuned in a wide range, from quick exploratory calculations to highly accurate simulations matching the quality of other approaches, such as plane-wave methods.
As it uses numerical orbitals, the demand for memory is lower than the codes you mention. Some of the properties it can calculate:
- Total and partial energies.
- Atomic forces.
- Stress tensor.
- Electric dipole moment.
- Atomic, orbital and bond populations (Mulliken).
- Electron density.
- Geometry relaxation, fixed or variable cell.
- Constant-temperature molecular dynamics (Nose thermostat).
- Variable cell dynamics (Parrinello-Rahman).
- Spin polarized calculations (collinear or not).
- k-sampling of the Brillouin zone.
- Local and orbital-projected density of states.
- COOP and COHP curves for chemical bonding analysis.
- Dielectric polarization.
- Vibrations (phonons).
- Band structure.
The code can be downloaded from here. The page has links to the manual, tutorials and mailing list.
One big feature it has is the TranSIESTA module that permits doing transport calculation using several electrodes.
As an example, here is an input file. It is free format and designed to use keywords for the task you want to complete:
# ---------------------------------------------------------------------------
# Name and Label
# ---------------------------------------------------------------------------
SystemName BN-Cd-p0
SystemLabel BN-Cd-p0
# ---------------------------------------------------------------------------
# Lattice
# ---------------------------------------------------------------------------
LatticeConstant 12.787740 Ang
%block LatticeVectors
1.394587 0.000000 0.000000
0.000000 1.394587 0.000000
0.000000 0.000000 1.000000
%endblock LatticeVectors
# ---------------------------------------------------------------------------
# Species and Atoms
# ---------------------------------------------------------------------------
NumberOfSpecies 3
NumberOfAtoms 121
%block ChemicalSpeciesLabel
1 5 B
2 7 N
3 48 Cd
%endblock ChemicalSpeciesLabel
# ---------------------------------------------------------------------------
# Atomic Coordinates
# ---------------------------------------------------------------------------
AtomicCoordinatesFormat Ang
%block AtomicCoordinatesAndAtomicSpecies
12.92631935 8.92625145 2.84349444 1 1 B
12.92618164 8.92582742 7.10464184 1 2 B
12.93639581 8.92650310 11.36723889 1 3 B
.
.
.
12.20659949 6.53582303 9.93994222 2 117 N
12.73788419 7.68704422 0.71272677 1 118 B
12.72084758 7.68856837 4.97486209 1 119 B
12.73073524 7.68655704 9.23576392 1 120 B
8.91680374 2.17946810 5.76712116 3 121 Cd
%endblock AtomicCoordinatesAndAtomicSpecies
PAO.BasisSize DZP
MD.TypeOfRun CG
MD.NumCGsteps 0
MinSCFIterations 3
MaxSCFIterations 1000
SpinPolarized .true.
MeshCutoff 500 Ry
DM.MixingWeight 0.25
DM.NumberPulay 1
DM.Tolerance 0.001
XC.functional GGA
XC.authors PBE
SolutionMethod diagon
#############################
XML.Write .true.
---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
XML.Write .true.
#############################
WriteEigenvalues .true.
WriteKbands .true.
WriteBands .true.
WriteWaveFunctions .true.
SaveRho .true.
SaveElectrostaticPotential .true.
UseSaveData .true.
%block kgrid_Monkhorst_Pack
1 0 0 0.0
0 1 0 0.0
0 0 20 0.0
%endblock kgrid_Monkhorst_Pack
%block BandLines
1 0.00 0.00 0.00 \Gamma #Starting from gamma point
200 0.00 0.00 1.00 Z #200 points from gamma to Z.
%endblock BandLines
%block LocalDensityOfStates
-20.00 0.00 eV
%endblock LocalDensityOfStates
%block ProjectedDensityOfStates
-7.0 1.0 0.05 1000 eV
%endblock ProjectedDensityOfStates
#################################
# Charge calculation #
#################################
WriteMullikenPop 1
WriteDenchar .true.
WriteHirshfeldPop .true.
WriteVoronoiPop .true.
SaveTotalCharge .true.
SaveBaderCharge .true.
#################################