QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: Zexter on December 28, 2010, 06:37
-
Hi
I have coordinates of the central region.Based on the central region I define the electrodes.The left electrode has no problem with it as the coordinates of my first 30 atoms make up the coordinates of my electrodes.But my right electrode shows some conflict.Here is my central region coordinates
cartesian_coordinates = numpy.array([[ 11.78410677, 8.39205339, 0. ],
[ 11.49084835, 9.77172579, 0. ],
[ 11.13628222, 10.38585234, 1.23050086],
[ 10.08808008, 11.32965779, 1.23050086],
[ 9.44025553, 11.61808786, 0. ],
[ 8.03748726, 11.76552475, 0. ],
[ 7.34385124, 11.61808786, 1.23050086],
[ 6.12232665, 10.91284031, 1.23050086],
[ 5.64782455, 10.38585234, 0. ],
[ 5.0741245 , 9.09730094, 0. ],
[ 5. , 8.39205339, 1.23050086],
[ 5.29325842, 7.01238098, 1.23050086],
[ 5.64782455, 6.39825443, 0. ],
[ 6.69602669, 5.45444898, 0. ],
[ 7.34385124, 5.16601891, 1.23050086],
[ 8.74661951, 5.01858202, 1.23050086],
[ 9.44025553, 5.16601891, 0. ],
[ 10.66178013, 5.87126646, 0. ],
[ 11.13628222, 6.39825443, 1.23050086],
[ 11.70998227, 7.68680583, 1.23050086],
[ 11.78410677, 8.39205339, 2.46100171],
[ 11.49084835, 9.77172579, 2.46100171],
[ 11.13628222, 10.38585234, 3.69150257],
[ 9.44025553, 11.61808786, 2.46100171],
[ 8.03748726, 11.76552475, 2.46100171],
[ 7.34385124, 11.61808786, 3.69150257],
[ 5.64782455, 10.38585234, 2.46100171],
[ 5.0741245 , 9.09730094, 2.46100171],
[ 5. , 8.39205339, 3.69150257],
[ 5.64782455, 6.39825443, 2.46100171],
[ 6.69602669, 5.45444898, 2.46100171],
[ 8.74661951, 5.01858202, 3.69150257],
[ 9.44025553, 5.16601891, 2.46100171],
[ 10.66178013, 5.87126646, 2.46100171],
[ 11.70998227, 7.68680583, 3.69150257],
[ 10.40042677, 8.88880475, 6.96812],
[ 11.30777677, 8.45569475, 5.191936],
[ 9.51582677, 7.98203475, 7.54074],
[ 11.29134677, 7.13432475, 5.48832],
[ 11.39062677, 6.83183475, 4.07066257],
[ 11.42394677, 9.53401475, 4.95221],
[ 7.72150677, 9.66815475, 7.51415],
[ 8.64598677, 10.61579475, 6.91579],
[ 8.14669677, 8.38042475, 7.81981],
[ 9.95586677, 10.23483475, 6.64888],
[ 10.58825677, 10.63352475, 5.40304],
[ 7.90947677, 11.41236475, 5.949],
[ 8.51457677, 11.79387475, 4.75709257],
[ 9.88366677, 11.39586475, 4.47817257],
[ 6.03219677, 7.44738475, 6.97001],
[ 5.58782677, 8.79318475, 6.65067],
[ 7.28322677, 7.24547475, 7.54167],
[ 6.41376677, 9.87907475, 6.9168],
[ 6.52994677, 10.95687475, 5.94947],
[ 4.84106677, 8.73603475, 5.40539],
[ 4.95214677, 9.76732475, 4.47995257],
[ 5.81524677, 10.90237475, 4.75816257],
[ 7.66702677, 5.29566475, 6.08772],
[ 6.35955677, 5.50656475, 5.4904],
[ 8.11872677, 6.14570475, 7.09069],
[ 5.56009677, 6.55864475, 5.92184],
[ 4.82410677, 7.35499475, 4.95483],
[ 6.45916677, 5.20353475, 4.07273257],
[ 5.75485677, 5.96538475, 3.14755257],
[ 4.91914677, 7.06490475, 3.59846257],
[ 10.36669677, 6.18659475, 6.08648],
[ 9.89460677, 5.29812475, 5.03836],
[ 9.49850677, 6.60097475, 7.09004],
[ 8.57462677, 4.86238475, 5.03899],
[ 7.82823677, 4.80552475, 3.79374257],
[ 10.52758677, 5.69679475, 3.79263257],
[ 6.44770677, 11.30104475, 3.51245257],
[ 9.98296677, 11.09329475, 3.06063257]])
cartesian_coordinates1 = numpy.array([[ 11.78410677, 8.39205339, 7.27452],
[ 11.49084835, 9.77172579, 7.27452],
[ 11.13628222, 10.38585234, 6.04402],
[ 10.08808008, 11.32965779, 6.04402],
[ 9.44025553, 11.61808786, 7.27452],
[ 8.03748726, 11.76552475, 7.27452],
[ 7.34385124, 11.61808786, 6.04402],
[ 6.12232665, 10.91284031, 6.04402],
[ 5.64782455, 10.38585234, 7.27452],
[ 5.0741245 , 9.09730094, 7.27452],
[ 5. , 8.39205339, 6.04402],
[ 5.29325842, 7.01238098, 6.04402],
[ 5.64782455, 6.39825443, 7.27452],
[ 6.69602669, 5.45444898, 7.27452],
[ 7.34385124, 5.16601891, 6.04402],
[ 8.74661951, 5.01858202, 6.04402],
[ 9.44025553, 5.16601891, 7.27452],
[ 10.66178013, 5.87126646, 7.27452],
[ 11.13628222, 6.39825443, 6.04402],
[ 11.70998227, 7.68680583, 6.04402],
[ 11.78410677, 8.39205339, 4.81351829],
[ 11.49084835, 9.77172579, 4.81351829],
[ 11.13628222, 10.38585234, 3.58301743],
[ 9.44025553, 11.61808786, 4.81351829],
[ 8.03748726, 11.76552475, 4.81351829],
[ 7.34385124, 11.61808786, 3.58301743],
[ 5.64782455, 10.38585234, 4.81351829],
[ 5.0741245 , 9.09730094, 4.81351829],
[ 5. , 8.39205339, 3.58301743],
[ 5.64782455, 6.39825443, 4.81351829],
[ 6.69602669, 5.45444898, 4.81351829],
[ 8.74661951, 5.01858202, 3.58301743],
[ 9.44025553, 5.16601891, 4.81351829],
[ 10.66178013, 5.87126646, 4.81351829],
[ 11.70998227, 7.68680583, 3.58301743],
[ 10.40042677, 8.88880475, 0.3064 ],
[ 11.30777677, 8.45569475, 2.082584 ],
[ 9.51582677, 7.98203475, -0.26622],
[ 11.29134677, 7.13432475, 1.7862 ],
[ 11.39062677, 6.83183475, 3.20385743],
[ 11.42394677, 9.53401475, 2.32231 ],
[ 7.72150677, 9.66815475, -0.2396368237342],
[ 8.64598677, 10.61579475, 0.35873 ],
[ 8.14669677, 8.38042475, -0.54529],
[ 9.95586677, 10.23483475, 0.62564 ],
[ 10.58825677, 10.63352475, 1.87148 ],
[ 7.90947677, 11.41236475, 1.32552 ],
[ 8.51457677, 11.79387475, 2.51742743],
[ 9.88366677, 11.39586475, 2.79634743],
[ 6.03219677, 7.44738475, 0.30451 ],
[ 5.58782677, 8.79318475, 0.62385 ],
[ 7.28322677, 7.24547475, -0.26715],
[ 6.41376677, 9.87907475, 0.35772 ],
[ 6.52994677, 10.95687475, 1.32505 ],
[ 4.84106677, 8.73603475, 1.86913 ],
[ 4.95214677, 9.76732475, 2.79456743],
[ 5.81524677, 10.90237475, 2.51635743],
[ 7.66702677, 5.29566475, 1.1868 ],
[ 6.35955677, 5.50656475, 1.78412 ],
[ 8.11872677, 6.14570475, 0.18383 ],
[ 5.56009677, 6.55864475, 1.35268 ],
[ 4.82410677, 7.35499475, 2.31969 ],
[ 6.45916677, 5.20353475, 3.20178743],
[ 5.75485677, 5.96538475, 4.12696743],
[ 4.91914677, 7.06490475, 3.67605743],
[ 10.36669677, 6.18659475, 1.18804 ],
[ 9.89460677, 5.29812475, 2.23616 ],
[ 9.49850677, 6.60097475, 0.18448 ],
[ 8.57462677, 4.86238475, 2.23553 ],
[ 7.82823677, 4.80552475, 3.48077743],
[ 10.52758677, 5.69679475, 3.48188743],
[ 6.44770677, 11.30104475, 3.76206743],
[ 9.98296677, 11.09329475, 4.21388743]])
cartesian_coordinates=cartesian_coordinates+numpy.array([0,0,0])
cartesian_coordinates1=cartesian_coordinates1+numpy.array([0,0,10.5651])
cartesiand=cartesian_coordinates1
cartesian_coordinates=cartesian_coordinates.tolist()
cartesian_coordinates1=cartesian_coordinates1.tolist()
elements = [Carbon,]*len(cartesian_coordinates+cartesian_coordinates1)
ccordinates=(cartesian_coordinates + cartesian_coordinates1)*Ang
my left electrode coordinates
left_electrode_coordinates = [[ 11.78410677, 8.39205339, 0. ],
[ 11.49084835, 9.77172579, 0. ],
[ 11.13628222, 10.38585234, 1.23050086],
[ 10.08808008, 11.32965779, 1.23050086],
[ 9.44025553, 11.61808786, 0. ],
[ 8.03748726, 11.76552475, 0. ],
[ 7.34385124, 11.61808786, 1.23050086],
[ 6.12232665, 10.91284031, 1.23050086],
[ 5.64782455, 10.38585234, 0. ],
[ 5.0741245 , 9.09730094, 0. ],
[ 5. , 8.39205339, 1.23050086],
[ 5.29325842, 7.01238098, 1.23050086],
[ 5.64782455, 6.39825443, 0. ],
[ 6.69602669, 5.45444898, 0. ],
[ 7.34385124, 5.16601891, 1.23050086],
[ 8.74661951, 5.01858202, 1.23050086],
[ 9.44025553, 5.16601891, 0. ],
[ 10.66178013, 5.87126646, 0. ],
[ 11.13628222, 6.39825443, 1.23050086],
[ 11.70998227, 7.68680583, 1.23050086],
[ 11.78410677, 8.39205339, 2.46100171],
[ 11.49084835, 9.77172579, 2.46100171],
[ 11.13628222, 10.38585234, 3.69150257],
[ 9.44025553, 11.61808786, 2.46100171],
[ 8.03748726, 11.76552475, 2.46100171],
[ 7.34385124, 11.61808786, 3.69150257],
[ 5.64782455, 10.38585234, 2.46100171],
[ 5.0741245 , 9.09730094, 2.46100171],
[ 5. , 8.39205339, 3.69150257],
[ 5.64782455, 6.39825443, 2.46100171]]*Angstrom
my right electrode
right_electrode_coordinates = numpy.array([[ 8.14669677, 8.38042475, -0.54529],
[ 9.95586677, 10.23483475, 0.62564 ],
[ 10.58825677, 10.63352475, 1.87148 ],
[ 7.90947677, 11.41236475, 1.32552 ],
[ 8.51457677, 11.79387475, 2.51742743],
[ 9.88366677, 11.39586475, 2.79634743],
[ 6.03219677, 7.44738475, 0.30451 ],
[ 5.58782677, 8.79318475, 0.62385 ],
[ 7.28322677, 7.24547475, -0.26715],
[ 6.41376677, 9.87907475, 0.35772 ],
[ 6.52994677, 10.95687475, 1.32505 ],
[ 4.84106677, 8.73603475, 1.86913 ],
[ 4.95214677, 9.76732475, 2.79456743],
[ 5.81524677, 10.90237475, 2.51635743],
[ 7.66702677, 5.29566475, 1.1868 ],
[ 6.35955677, 5.50656475, 1.78412 ],
[ 8.11872677, 6.14570475, 0.18383 ],
[ 5.56009677, 6.55864475, 1.35268 ],
[ 4.82410677, 7.35499475, 2.31969 ],
[ 6.45916677, 5.20353475, 3.20178743],
[ 5.75485677, 5.96538475, 4.12696743],
[ 4.91914677, 7.06490475, 3.67605743],
[ 10.36669677, 6.18659475, 1.18804 ],
[ 9.89460677, 5.29812475, 2.23616 ],
[ 9.49850677, 6.60097475, 0.18448 ],
[ 8.57462677, 4.86238475, 2.23553 ],
[ 7.82823677, 4.80552475, 3.48077743],
[ 10.52758677, 5.69679475, 3.48188743],
[ 6.44770677, 11.30104475, 3.76206743],
[ 9.98296677, 11.09329475, 4.21388743]])
right_electrode_coordinates=right_electrode_coordinates+numpy.array([0,0,10.5651])
right_electrode_coordinates=right_electrode_coordinates.tolist()
right_electrode_coordinates=right_electrode_coordinates*Angstrom
when I use the above coordinates the error comes out as
"The last 30 atoms of the central region must match the last 30 atoms of the right electrode region. Atom 116 of the central region was C at (8.14669677 Ang, 8.38042475 Ang, 10.01981 Ang), it should have been C at (8.14669677 Ang, 8.38042475 Ang, 25.39840829 Ang)"
But still my last 30 central region coordinates are same as my right electrode coordinates.
-
You should not add a lattice vector to the right electrode, since this is done automatic.
I recommend that you save the central region as a bulk configuration and use VNL to generate the device configuration, this is more safe.
VNL will also sort the coordinates in the z direction, which is recommendable.