Author Topic: Interface builder from ATK python  (Read 107 times)

0 Members and 1 Guest are viewing this topic.

Offline Fabian Ducry

  • New ATK user
  • *
  • Posts: 9
  • Country: ch
  • Reputation: 0
    • View Profile
Interface builder from ATK python
« on: June 13, 2018, 13:34 »
Dear Quantumwise Team

I would like to use the Interface Matching algorithm from a python script. But I could not find any documentation about how to do that.
Is it possible to access these routines from atkpython or do I HAVE to go through the interface?

Kind regards,
Fabian Ducry

Offline Ulrik G. Vej-Hansen

  • QuantumWise Staff
  • Supreme ATK Wizard
  • *****
  • Posts: 298
  • Country: dk
  • Reputation: 6
    • View Profile
Re: Interface builder from ATK python
« Reply #1 on: June 13, 2018, 16:10 »
I think this tutorial is what you are looking for: https://docs.quantumwise.com/tutorials/interfaces_via_geometric_matching/interfaces_via_geometric_matching.html

Does it cover your questions?

Offline Fabian Ducry

  • New ATK user
  • *
  • Posts: 9
  • Country: ch
  • Reputation: 0
    • View Profile
Re: Interface builder from ATK python
« Reply #2 on: June 13, 2018, 17:24 »
Perfect, that's exactly what I was looking for. Thank you!

Offline Fabian Ducry

  • New ATK user
  • *
  • Posts: 9
  • Country: ch
  • Reputation: 0
    • View Profile
Re: Interface builder from ATK python
« Reply #3 on: June 13, 2018, 18:09 »
It's giving me weird information though. Looking at two hexagonal cells (111 of the first and 001 of the second material): the area of the interface is constant, even though the number of atoms increases. Is this a bug or intended?

Here is an excerpt of the output:
|     A                     B            Strain     Atoms    Area    Aspect    Angle    Rotation     |
[ 1  1  1] >-< [ 0  0  1]   0.000050     1750     69.0         1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.000070      1705     69.0        1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.000110        232     69.0         1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.000560        151     69.0         1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.000640       142     69.0         1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.001490         88     69.0         1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.007410          29     69.0         1.0         60.0          19.1
[ 1  1  1] >-< [ 0  0  1]   0.011550           16     69.0         1.0         60.0          19.1

I am using the version "Atomistix ToolKit 2017.1 [Build ce08f12] "

Offline Petr Khomyakov

  • QuantumWise Staff
  • Supreme ATK Wizard
  • *****
  • Posts: 728
  • Country: dk
  • Reputation: 7
    • View Profile
Re: Interface builder from ATK python
« Reply #4 on: June 13, 2018, 23:35 »
Please post the script you have used to get this output. 

Offline Fabian Ducry

  • New ATK user
  • *
  • Posts: 9
  • Country: ch
  • Reputation: 0
    • View Profile
Re: Interface builder from ATK python
« Reply #5 on: June 14, 2018, 13:59 »
I used: atkpython match_au_mose2.py | grep '0  0  1'
With the files:
match_au_mose2.py
Code: [Select]
configuration_1 = nlread('au.cif',BulkConfiguration)[-1]
configuration_2 = nlread('MoSe2.cif',BulkConfiguration)[-1]

generalized_lattice_match = GeneralizedLatticeMatch(
                            configuration_1,
                            configuration_2,
                            max_strain=0.02,
                            maximum_miller_index=1,
                            longest_surface_lattice_vector=100*Angstrom,
                            max_surface_area=10000.0*Angstrom**2,
                            user_given_miller_index=(1,1,1)
                            )
With au.cif:
Code: [Select]
data_global
_cell_length_a 2.97513963
_cell_length_b 2.97513963
_cell_length_c 2.97513963
_cell_angle_alpha 60.00000000
_cell_angle_beta 60.00000000
_cell_angle_gamma 60.00000000
_symmetry_space_group_name_H-M 'P -1'
loop_
_symmetry_equiv_pos_as_xyz
  'x,y,z'
loop_
_atom_site_label
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
Au 0.00000000 0.00000000 0.00000000
and MoSe2.cif
Code: [Select]
data_global
_cell_length_a 3.32910723
_cell_length_b 3.32910723
_cell_length_c 13.06127836
_cell_angle_alpha 90.00000000
_cell_angle_beta 90.00000000
_cell_angle_gamma 120.00000000
_symmetry_space_group_name_H-M 'P -1'
loop_
_symmetry_equiv_pos_as_xyz
  'x,y,z'
loop_
_atom_site_label
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
Mo 0.33333300 0.66666700 0.25000000
Se 0.66666700 0.33333300 0.12100000
Se 0.66666700 0.33333300 0.37900000

Offline Petr Khomyakov

  • QuantumWise Staff
  • Supreme ATK Wizard
  • *****
  • Posts: 728
  • Country: dk
  • Reputation: 7
    • View Profile
Re: Interface builder from ATK python
« Reply #6 on: June 15, 2018, 15:48 »
I am not able to reproduce your issue on my Windows 10 machine, using version 2017.2, i.e., it seems to work, see a log-file enclosed. Could you update 2017.1 to 2017.2 (it should work with your 2017.1 version license) to see if the issue is resolved?   
« Last Edit: June 15, 2018, 15:52 by Petr Khomyakov »

Offline Fabian Ducry

  • New ATK user
  • *
  • Posts: 9
  • Country: ch
  • Reputation: 0
    • View Profile
Re: Interface builder from ATK python
« Reply #7 on: June 21, 2018, 16:01 »
I disagree, your log-file shows exactly the same numbers. The first three matchings are:
Code: [Select]
+----------------------------------------------------------------------------------------+
|    A              B        Strain     Atoms    Area    Aspect    Angle    Rotation     |
+----------------------------------------------------------------------------------------+
[ 1  1  1] >-< [ 0  0  1]   0.000050     1750     69.0      1.0      60.0       19.1
[ 1  1  1] >-< [ 0  0  1]   0.000070     1705     69.0      1.0      60.0       19.1
[ 1  1  1] >-< [ 0  0  1]   0.000110      232     69.0      1.0      60.0       19.1
Which have differing numbers of atoms (1750, 1705 and 232) but apparently the same Area (69.0).
I would assume that collumn "Area" shows the area of the cross-section. Is that wrong, what does "Area" refer to?

EDIT:
Is there an easy way of actually assemble this interface? I have not managed to get the same interfaces through the Interface Builder in VNL and the output of GeneralizedLatticeMatch is not sufficient to create it manually.
« Last Edit: June 21, 2018, 17:01 by Fabian Ducry »