from ATK.KohnSham import *
# Import XYZ file
from import_xyz import *
(elements,positions) = importXYZFile ('3-octanol.xyz')
# Create NanoLanguage molecule
molecule = MoleculeConfiguration(elements, positions*Angstrom)
# Save in VNL file
vnlfile = VNLFile('3-octanol.vnl')
vnlfile.addToSample(new_vnl_molecule,'3-octanol')import sys
sys.path.append('c:/Program Files/Atomistix/ATK 2008.02/examples')
# Define elements
elements = [Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon]
# Define coordinates
coordinates = [[ 2.716, 0. , 2.463],
[ 2.623, 0.703, 3.694],
[ 2.716, 0. , 0. ],
[ 1.92 , 1.92 , 1.231],
[ 2.623, 0.703, 1.231],
[ 1.358, 2.352, 2.463],
[ 1.92 , 1.92 , 3.694],
[ 0. , 2.716, 0. ],
[ 1.358, 2.352, 0. ],
[-0.703, 2.623, 1.231],
[ 0. , 2.716, 2.463],
[-1.92 , 1.92 , 3.694],
[-0.703, 2.623, 3.694],
[-2.352, 1.358, 0. ],
[-1.92 , 1.92 , 1.231],
[-2.716, 0. , 2.463],
[-2.352, 1.358, 2.463],
[-2.623, -0.703, 3.694],
[-2.716, 0. , 0. ],
[-1.92 , -1.92 , 1.231],
[-2.623, -0.703, 1.231],
[-1.358, -2.352, 2.463],
[-1.92 , -1.92 , 3.694],
[ 0. , -2.716, 0. ],
[-1.358, -2.352, 0. ],
[ 0.703, -2.623, 1.231],
[ 0. , -2.716, 2.463],
[ 1.92 , -1.92 , 3.694],
[ 0.703, -2.623, 3.694],
[ 2.352, -1.358, 0. ],
[ 1.92 , -1.92 , 1.231],
[ 2.352, -1.358, 2.463]]*Angstrom
# Set up configuration
molecule_configuration = MoleculeConfiguration(elements,coordinates)Well, at least in NanoLanguage you can use the small script provided in the examples directory. It is called import_xyz.py and it's quite straight-forward to use; in fact, and example (import_xyz-test.py) is also included in the same directory.Hi I'm new with VNL and so i find it preatty hard to use.
For convenience, I copy the example here:Codefrom ATK.KohnSham import *
# Import XYZ file
from import_xyz import *
(elements,positions) = importXYZFile ('3-octanol.xyz')
# Create NanoLanguage molecule
molecule = MoleculeConfiguration(elements, positions*Angstrom)
# Save in VNL file
vnlfile = VNLFile('3-octanol.vnl')
vnlfile.addToSample(new_vnl_molecule,'3-octanol')
Just remember to copy the file import_xyz.py to the same directory as your script, or add these lines at the top:Codeimport sys
sys.path.append('c:/Program Files/Atomistix/ATK 2008.02/examples')
(Yeah, I run ATK on Windows! the performance is actually not much worse, except there is no MPI parallelization of course...)
The reason this script fails is because it is written for ATK 2008.10. In the new version you are using (10.8.x), it's much simpler: you can just drop your xyz file onto any instrument in VNL and use it directly!
If you haven't yet, please have a look at the tutorials (http://quantumwise.com/publications/tutorials) to get to terms with some of the basics in VNL/ATK.
To import an XYZ file in VNL 11.2, just drop it on the Builder.
You mean export a two-probe as XYZ, with electrodes included? No, not by default. Wouldn't be hard to write a Python script for it though ;)
Actually, the "Open" functionality in the Builder is only intended to open Python files. Not 100% obvious, I admit, but that's how it works. The main workflow, for now, in VNL is via drag-and-drop, also for opening files.
As for exporting the "whole" two-probe, a relevant question in this case is "why"? Because: in old ATK (2008.10 and earlier), the active device region - by which we mean the atoms between the two points at which the bias voltage is applied - indeed covered left electrode-central-right electrode. This is no longer the case; in ATK 10.8 and onwards, the bias is applied only over the central cell. This is why, partly, the central cell should contain a copy of the electrodes inside, but most importantly it has allowed us to implement the most correct form of boundary conditions of any transport code.
So, the electrodes in "new ATK" are just bulk, there is no voltage drop and no rearrangement of the electron density (as there was, indeed, in "old ATK"). Therefore, for almost all purposes, the current central cell does in fact correspond to the old "equivalent bulk". Hence, the need to export the combined LE+C+RE system is perhaps not that relevant.
The picture you attached applies to 2008.10.As you say, in ATK 2008, device region is L+C+R and the bias is applied over the device region. And that is to say, there is voltage drop over the L and R electrode. Yet, 2008 can treats the L and R as bulk and they do not participate in the self-consistent iteration of NEGF. My question is : since the L and R electrodes are treated as bulk, why there is voltage drop? The bias is expected to be applied over the C region.
2008.10 will use the equivalent bulk (L+C+R) for the device calculation.
The real difference between the two approaches is related to where you place the boundary conditions for the effective potential and whether you treat the electrodes in the device region as bulk-like (2008.10) or self-consistently (11.2)
In both models, extra surface layers are needed between the molecule and the electrodes for screening, as you say.
As you say, in ATK 2008, device region is L+C+R and the bias is applied over the device region. And that is to say, there is voltage drop over the L and R electrode. Yet, 2008 can treats the L and R as bulk and they do not participate in the self-consistent iteration of NEGF. My question is : since the L and R electrodes are treated as bulk, why there is voltage drop? The bias is expected to be applied over the C region.
As far as I know, in ATK 2008, one can choose to let the L and R participate in the self-consistent iteration of NEGF if I am not mistaken (Is it different from that of ATK 11.2 ?). So if this can improve convergence performance, one can choose this option by himself. In ATK 11.2, as you say, it is forced to this option.
I think if there is enough surface layers in C region in ATK 2008, the L and R can be safely set to bulk value and need not to take part in the self-consistent process of NEGF. So as in ATK 11.2 since the surface layers are also needed, the self-consistent of the copy of L and R in central region (defined in 11.2) will enlarge the burden of the calculation (?).