QuantumATK Forum
General => Future Releases => Topic started by: zdhlover on November 11, 2009, 16:11

;D ;D ;D
Hi, everyone
I think may be you need strengthen the function of the optimization in the next VNl version:
1,we can conveniently optimize the lattice constants and the coordinates of atoms in the bulk system at one time , of course we also can optimize one of them at one time;
2,we can conveniently optimize the lattice constants and the coordinates of atoms in the bulk system with one direction(for example , the transport direction,i.e. Z direction) ,but the other directions of the lattice constants and the coordinates of atoms in the bulk system we can impose the constraint.
Wish you best and succeed!

Duly noted.
For 1), the computation of stress is required, and this is not implemented in ATK, but it will be in the future.
2) is quite straightforward (for the positions part), in fact it can be done today with some inside knowledge. I can try to make an example and post it, if you want?

Thanks you noted
as 2) mentioned above, we need conveniently optimize the lattice constants and the coordinates of atoms in the bulk system with one direction(for example , the transport direction,i.e. Z direction) at one time,but the other directions of the lattice constants and the coordinates of atoms in the bulk system we can impose the constraint at the same time .Could we do this in ATK now or the next version?
Because we need to this before we calculate the properties of the twoprobe system.
Thanks a lot

Not sure what the difference between "one time" and "same time" is :)
But, to optimize the lattice constants (efficiently) you need to compute the strain, and ATK doesn't support this today. It will, however, be added very soon.
Constraints are a completely separate issue, in a sense, and although natively ATK only support fixing atoms completely, one can, with some effort, get it to constrain the movement of the atom in certain directions (when using the steepest descent method, at least).

Because we need to this before we calculate the properties of the twoprobe system.
Optimizing directly the structure of a twoprobe system seems more expensive.
I would like to suggest that it is better to do the following things before doing any practical calculations for a twoprobe system:
i) If the conductor in the scattering region is a molecule, one could optimize the structure of molecule absorbing on a metal surface using the standard slab model. Through this way, one could find out the energetically favorable binding site between the molecule and the metal electrode. Moreover, he could get a bit information about the changes of electronic structures (such as charge transfer, the changes of LUMO and HOMO orbitals of molecule, and so on) due to the interaction between molecule and metal electrode. These will be helpful for understanding the transport properties of the corresponding twoprobe system.
ii) If the conductor in the scattering region is a crystalline solid, one could optimize the structure a interface using the slab model as the usual way. He could find out the energetically interface structure and the detailed atomic bonding information near the interface. Furthermore, he could also obtain the Schottky barrier height for a contacting of semiconductor and metal.

First,Thanks zh's detailed reply about optimization.
2,for some reasons(for example: the suppress of the lattice coordinates in plane by substrates),so we need to fix the XY lattice coordinates and the xy coordinates of the atoms
so we need conveniently optimize the lattice constants and the coordinates of atoms in the bulk system with one direction(for example , the transport direction,i.e. Z direction) , in that process we also need we can impose the constraint on the other directions of the lattice constants and the coordinates of atoms in the bulk system .
Not sure what the difference between "one time" and "same time" is :)
But, to optimize the lattice constants (efficiently) you need to compute the strain, and ATK doesn't support this today. It will, however, be added very soon.
Constraints are a completely separate issue, in a sense, and although natively ATK only support fixing atoms completely, one can, with some effort, get it to constrain the movement of the atom in certain directions (when using the steepest descent method, at least).

When we redesign the optimization for the next ATK version, we will try to offer all these possibilities, if not at first then certainly within short afterwards. All points are relevant.

it is possible in 11.2.3 to optimize strain in certain directions, directly from VNL (see figure) or using
constraints = [FixStrain(x=True, y=True, z=False)]
bulk_configuration = OptimizeGeometry(
bulk_configuration,
maximum_forces=0.05*eV/Ang,
maximum_stress=0.05*eV/Ang**3,
constraints=constraints,
trajectory_filename=None,
)