Author Topic: difference version ATK get a small different result  (Read 2671 times)

0 Members and 1 Guest are viewing this topic.

Offline fangyongxinxi

  • QuantumATK Guru
  • ****
  • Posts: 143
  • Reputation: 0
    • View Profile
difference version ATK get a small different result
« on: April 13, 2013, 04:42 »
the calculation results of two version ATK

Dear,
I use atk 2010.8 (with official license) and 2012.8 (temp license)
to calculate the energy of one system, but get a small difference

version_2012: -4931.6453 eV (version 2011 get the same result)
version_2010: -4931.63 eV

what caused the difference ?
because some default setting are different ?

Thanks




# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [3.55, -4.03779418951e-13, 1.2407414431e-10]*Angstrom
vector_b = [-4.03779421568e-13, 3.55, 8.05456427157e-11]*Angstrom
vector_c = [4.77081609186e-10, 3.09914276141e-10, 14.22]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Potassium, Potassium, Iron, Iron, Iron, Iron, Selenium, Selenium, Selenium, Selenium]

# Define coordinates
fractional_coordinates = [[  1.14468617e-11,   8.78736620e-12,  -9.23438392e-04],
                          [  5.00000000e-01,   5.00000000e-01,   4.99103142e-01],
                          [  9.41847484e-11,   5.00000000e-01,   2.49187516e-01],
                          [  5.00000000e-01,   9.56876004e-11,   2.49187512e-01],
                          [  5.28106589e-10,   4.99999999e-01,   7.48865737e-01],
                          [  4.99999999e-01,   4.12406619e-10,   7.48865716e-01],
                          [ -4.40822247e-11,  -4.24698793e-11,   3.67582854e-01],
                          [  5.00000000e-01,   5.00000000e-01,   8.67292159e-01],
                          [ -1.73557970e-10,  -1.40654216e-10,   6.30480239e-01],
                          [  5.00000000e-01,   5.00000000e-01,   1.30763705e-01]]

# Set up configuration
bulk_configuration = BulkConfiguration(
            bravais_lattice=lattice,
            elements=elements,
            fractional_coordinates=fractional_coordinates
            )

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
            LDABasis.Potassium_SingleZetaPolarized,
            LDABasis.Iron_SingleZetaPolarized,
            LDABasis.Selenium_SingleZetaPolarized,
            ]
ex = LDA.PW

numerical_accuracy_parameters = NumericalAccuracyParameters(
            grid_mesh_cutoff=50.0*Hartree,
            k_point_sampling=(9, 9, 3),
            )

calculator = LCAOCalculator(
            basis_set=basis_set,
            exchange_correlation = ex,
            numerical_accuracy_parameters=numerical_accuracy_parameters,
            )

bulk_configuration.setCalculator(calculator)
# bulk_configuration.update()



# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------

total_energy = TotalEnergy(bulk_configuration)
nlsave('2010.nc', total_energy)
nlprint(total_energy)





# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [3.55, -4.03779418951e-13, 1.2407414431e-10]*Angstrom
vector_b = [-4.03779421568e-13, 3.55, 8.05456427157e-11]*Angstrom
vector_c = [4.77081609186e-10, 3.09914276141e-10, 14.22]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Potassium, Potassium, Iron, Iron, Iron, Iron, Selenium, Selenium, Selenium, Selenium]

# Define coordinates
fractional_coordinates = [[  1.14468617e-11,   8.78736620e-12,  -9.23438392e-04],
                          [  5.00000000e-01,   5.00000000e-01,   4.99103142e-01],
                          [  9.41847484e-11,   5.00000000e-01,   2.49187516e-01],
                          [  5.00000000e-01,   9.56876004e-11,   2.49187512e-01],
                          [  5.28106589e-10,   4.99999999e-01,   7.48865737e-01],
                          [  4.99999999e-01,   4.12406619e-10,   7.48865716e-01],
                          [ -4.40822247e-11,  -4.24698793e-11,   3.67582854e-01],
                          [  5.00000000e-01,   5.00000000e-01,   8.67292159e-01],
                          [ -1.73557970e-10,  -1.40654216e-10,   6.30480239e-01],
                          [  5.00000000e-01,   5.00000000e-01,   1.30763705e-01]]

# Set up configuration
bulk_configuration = BulkConfiguration(
            bravais_lattice=lattice,
            elements=elements,
            fractional_coordinates=fractional_coordinates
            )

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
            LDABasis.Potassium_SingleZetaPolarized,
            LDABasis.Iron_SingleZetaPolarized,
            LDABasis.Selenium_SingleZetaPolarized,
            ]
ex = LDA.PW

numerical_accuracy_parameters = NumericalAccuracyParameters(
            grid_mesh_cutoff=50.0*Hartree,
            k_point_sampling=(9, 9, 3),
            )

calculator = LCAOCalculator(
            basis_set=basis_set,
            exchange_correlation = ex,
            numerical_accuracy_parameters=numerical_accuracy_parameters,
            )

bulk_configuration.setCalculator(calculator)
bulk_configuration.update()



# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------

total_energy = TotalEnergy(bulk_configuration)
nlsave('2012.nc', total_energy)
nlprint(total_energy)

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: difference version ATK get a small different result
« Reply #1 on: April 13, 2013, 08:05 »
I think the main reason is a change in the default mixing parameters. But as a general rule, if you want to compare total energies (which by themselves, as absolute values, are meaningless, so only comparisons matter, for instance for different basis sets for configurations, etc) you should always use the same version of any code, and hence the difference doesn't really matter.