hol28
Regular ATK user

Reputation: 0
Offline
Posts: 15
|
 |
« on: July 21, 2012, 18:19 » |
|
Hi everyone, I want to use the ATK to calculate the mulliken population, so I did a simple test on a HCl molecule. The result is: Mulliken Population Report | | | | ---------------------------------------------------------------------------- | | | | | Element Total Shell | Orbitals | | | | | | s | | 0 H 1.044 0.129 | 0.129 | | | s | | 0.773 | 0.773 | | | y z x | | 0.142 | 0.058 0.042 0.042 | | | --------------------------------------------------- | | | s | | 1 Cl 6.956 0.090 | 0.090 | | | y z x | | 0.630 | 0.153 0.239 0.239 | | | s | | 1.674 | 1.674 | | | y z x | | 4.525 | 1.091 1.717 1.717 | | | xy zy zz-rr zx xx-yy | | 0.037 | 0.002 0.002 0.008 0.000 0.025 | +------------------------------------------------------------------------------+ But as is know, for the HCl, the result should be H+ and Cl- and the electrons for H and Cl should be 0.0 and 8.0, respectively. My input file is: # ------------------------------------------------------------- # Bulk configuration # -------------------------------------------------------------
# Set up lattice vector_a = [10.0, 0.0, 0.0]*Angstrom vector_b = [0.0, 10.0, 0.0]*Angstrom vector_c = [0.0, 0.0, 9.999945]*Angstrom lattice = UnitCell(vector_a, vector_b, vector_c)
# Define elements elements = [Hydrogen, Chlorine]
# Define coordinates cartesian_coordinates = [[ 5. , 4.36 , 4.9999725], [ 5. , 5.64 , 4.9999725]]*Angstrom
# Set up configuration bulk_configuration = BulkConfiguration( bravais_lattice=lattice, elements=elements, cartesian_coordinates=cartesian_coordinates )
# ------------------------------------------------------------- # Calculator # ------------------------------------------------------------- #---------------------------------------- # Basis Set #---------------------------------------- basis_set = GGABasis.DoubleZetaPolarized
#---------------------------------------- # Exchange-Correlation #---------------------------------------- exchange_correlation = GGA.PW91
numerical_accuracy_parameters = NumericalAccuracyParameters( k_point_sampling=(10, 10, 10), )
calculator = LCAOCalculator( basis_set=basis_set, exchange_correlation=exchange_correlation, numerical_accuracy_parameters=numerical_accuracy_parameters, )
bulk_configuration.setCalculator(calculator) nlprint(bulk_configuration) bulk_configuration.update() nlsave('HCl.nc', bulk_configuration)
# ------------------------------------------------------------- # Mulliken population # ------------------------------------------------------------- mulliken_population = MullikenPopulation(bulk_configuration) nlsave('HCl.nc', mulliken_population) nlprint(mulliken_population)
Could anyone give me any suggestions? Look forward to your reply! Thanks!
|