QuantumATK Forum

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

Title: My suggestion to the next VNL version about optimization
Post 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!
Title: Re: My suggestion to the next VNL version about optimization
Post by: Forum Administrator on November 11, 2009, 17:59
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?
Title: Re: My suggestion to the next VNL version about optimization
Post by: zdhlover on November 12, 2009, 04:52
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 two-probe system.

Thanks a lot
Title: Re: My suggestion to the next VNL version about optimization
Post by: Anders Blom on November 12, 2009, 15:26
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).
Title: Re: My suggestion to the next VNL version about optimization
Post by: zh on November 13, 2009, 03:43
Because we need to this before we calculate the properties of the two-probe system.

Optimizing directly the structure of a two-probe 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 two-probe 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 two-probe 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. 
Title: Re: My suggestion to the next VNL version about optimization
Post by: zdhlover on November 15, 2009, 10:16
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).





Title: Re: My suggestion to the next VNL version about optimization
Post by: Anders Blom on November 15, 2009, 18:22
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.
Title: Re: My suggestion to the next VNL version about optimization
Post by: kstokbro on August 22, 2011, 14:52
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,
        )