QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: fangyongxinxi on December 13, 2012, 15:17
-
Hello,
I use atk(2012.08.r1)-slater-koster method to do a calculation. When I test the mesh cut-off, got strange result: the system has the same Energy for all the mesh cut-off number. Is that right ?
Thanks.
the input file:
# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [4.9649236399, 2.22044604925e-16, 0.0]*Angstrom
vector_b = [-1.65497454663, 4.68097489846, 2.17714856586e-15]*Angstrom
vector_c = [-1.65497454663, -2.34048744923, 4.05384317654]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)
# Define elements
elements = [Iron, Iron, Iron, Iron, Iron, Iron, Iron, Iron]
# Define coordinates
fractional_coordinates = [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -2.77555756e-17, 0.00000000e+00, 5.00000000e-01],
[ 5.09977520e-17, 5.00000000e-01, -4.93038066e-32],
[ -5.55111512e-17, 5.00000000e-01, 5.00000000e-01],
[ 5.00000000e-01, 3.08148791e-33, 2.73691106e-48],
[ 5.00000000e-01, -2.77555756e-17, 5.00000000e-01],
[ 5.00000000e-01, 5.00000000e-01, -4.93038066e-32],
[ 5.00000000e-01, 5.00000000e-01, 5.00000000e-01]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = DFTBDirectory("dftb/mio/")
#----------------------------------------
# Pair Potentials
#----------------------------------------
pair_potentials = DFTBDirectory("dftb/mio/")
for mcut in (2,4,6,8,10,20,40,50):
numerical_accuracy_parameters = NumericalAccuracyParameters(
grid_mesh_cutoff=mcut*Hartree,
k_point_sampling=(10, 10, 10),
)
iteration_control_parameters = IterationControlParameters()
calculator = SlaterKosterCalculator(
basis_set=basis_set,
pair_potentials=pair_potentials,
numerical_accuracy_parameters=numerical_accuracy_parameters,
iteration_control_parameters=iteration_control_parameters,
)
bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('mesh_test.nc', bulk_configuration)
# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------
total_energy = TotalEnergy(bulk_configuration)
nlsave('mesh_test.nc', total_energy)
nlprint(total_energy)
-
It is because your system is the same element sitting in equivalent positions, and hence there is no charge transfer
between the atoms, and therefore the solution to the Poisson equation is zero regardless of the mesh-cutoff.
Change a single element to something else, and see the effect.
-
Thanks for your answer.
-
When I increase the mesh cut-off, I usually get a larger number of bands ( a wider range from -ve to + ve energies) is that okay?
-
In ATK you will not get this, no. With a plane wave code maybe, but not with ATK.