Dear Jose M. Soler, Thanks for your attention.I have done the last task and find it is not satisfying to only extract the *DM belonging to the molecular of a transport extended molecular and then to do a one step SCF then get the information of the Energy level of the molecular when it is affected by the electrode and the bias.Now, this thought is a little droll.The more exact thing to do this is extract from the extended molecular the Hamiltonian belong the molecular,which is got under the bias.And diagonalize it,then get the Energy levels and molecular orbitals which approximately get a insight of the effect of the bias etc. to the molecular Energy level.This is so called MPSH.So I wander who is familar with the structure of the Hamiltonian file,and are kindly to instruct me. Thanks in advance!
2010-07-26 Guangping Zhang --------------------------------------------------------- 一键发送本地文件,请用网易闪电邮(fm.163.com)! 发件人: "Jose M. Soler" <[email protected]> 发送时间: 2010-07-26 15:17 主 题: Re: [SIESTA-L] about the DM file 收件人: [email protected] Guangping, Andrei, I recently added an output file called SystemLabel.ORB_INDX that documents what orbital corresponds to each index in the sparse matrices S, H, and D. See below an example. Best wishes, Jose graphene2.ORB_INDX: 52 4212 = orbitals in unit cell and supercell. See end of file. io ia is spec iao n l m z p sym rc isc iuo 1 1 1 C 1 2 0 0 1 F s 6.254 0 0 0 1 2 1 1 C 2 2 0 0 2 F s 3.510 0 0 0 2 3 1 1 C 3 2 1 -1 1 F py 8.192 0 0 0 3 4 1 1 C 4 2 1 0 1 F pz 8.192 0 0 0 4 5 1 1 C 5 2 1 1 1 F px 8.192 0 0 0 5 6 1 1 C 6 2 1 -1 2 F py 3.870 0 0 0 6 7 1 1 C 7 2 1 0 2 F pz 3.870 0 0 0 7 8 1 1 C 8 2 1 1 2 F px 3.870 0 0 0 8 9 1 1 C 9 2 2 -2 1 T Pdxy 8.192 0 0 0 9 10 1 1 C 10 2 2 -1 1 T Pdyz 8.192 0 0 0 10 11 1 1 C 11 2 2 0 1 T Pdz2 8.192 0 0 0 11 12 1 1 C 12 2 2 1 1 T Pdxz 8.192 0 0 0 12 13 1 1 C 13 2 2 2 1 T Pdx2-y2 8.192 0 0 0 13 14 2 1 C 1 2 0 0 1 F s 6.254 0 0 0 14 15 2 1 C 2 2 0 0 2 F s 3.510 0 0 0 15 ... 4211 324 1 C 12 2 2 1 1 T Pdxz 8.192 -1 -1 0 51 4212 324 1 C 13 2 2 2 1 T Pdx2-y2 8.192 -1 -1 0 52 Column codes: io = Orbital index in supercell ia = Atom to which orbital belongs is = Atomic species index spec = Atomic species label iao = Orbital index within atom n = Principal quantum number l = Angular mumentum quantum number m = Magnetic quantum number of (real) orbital: m<0 => sin(m*phi), m>=0 => cos(m*phi) z = Zeta index of orbital p = Is this a polarization orbital? (False|True) sym = Symmetry name of real orbital rc = Cutoff radius of orbital (Bohr) isc = Unit cell indexes to which orbital belongs: center(io) = center(iuo) + sum_(i=1:3) cell_vec(i) * isc(i) iuo = Equivalent orbital in first unit cell El 24/07/10 07:50, [email protected] escribió: > Dear Guangping Zhang, > I do not know the details, and do not have much to add. > Still: > In the periodic case, one needs to keep trace of the overlaps, > and hence DM elements, with atoms in neighbouring unit cells; > the corresponding bookkeeping is done through the construction > of "naive supercell" - search for these words in the output. > So - yes, the big numbers refer to basis functions in translated cells. > This is one of the reasons DM is not > stored in a straightforward square form > (another reason being its sparceness), but in a "rectangular" form. > Its lines run through ALL basis functions in the unit cell, and > the columns - so to say, through all basis functions in "naive supercell". > However, they are not written explicitly, but only non-zero elements > with their adresses. Note that non-zero elements are numbered as > they come, they don't have to follow in the order of increasing basis > functions. If you'd recover the full rectangular form (with > a lot of zeros) you'll probably see that the its left-hand square, > i.e. the "unit-cell only" part of it, is indeed Hermitian (so I think). > In my DMtune tools, I tried to manipulate the DM elements, > either on-site (the whole block refering to a given atom), > or the whole matrix. > I think a useful exercise, in order to realy understand the structure > of DM file, would be to write a "deciphering machine" - explicitly > identifying each appearing non-zero element by > (cell/atom/basis function) on both sides. > > Good luck > > Andrei Postnikov > > > >> Sorry to trouble you again.I find in the *DM file for periodical system. >> For each row,the column index, some times, not only from smaller to bigger >> but also appear a number bigger than Norbit(total number of basis in a >> unit cell).Just like this: >> 1 >> 2 >> 3 >> ..... >> 25 >> 26 >> 828 >> 830 >> 831 >> 832 >> 32 >> 33 >> 34 >> 35 >> if the total number of the basis in a unit cell is 398, 828 indicates the >> 32th (mod(828,398)) basis in the neighbour unit cell? >> Thanks in advance! >> 2010-07-24 >> >> > >> Indeed,I read the iodm.F code for many times and think hard on the >> structure of the *.DM file,I convert it to formatted style,and get a >> little information.I thought the *.DM file was arranged according to >> columns,firt column ,second column ,...,in a one dimenssion array.As you >> say,it is arranged according to rows,firt row,second row,and so on ,in a >> one dimenssion array.However it is the same if the *.DM is Hermitian >> conjugate since (DM)ij=(DM)ji.But it is not true all time(am I right? >> Since it is probably only Hermitian at complex situation).So this issue is >> serious. >> >> As you say the *.DM file can divided into there blocks,first block >> containing the total number basis functions (say Norbit) in the >> calculation and the total spin.Just two integers in the front of the file. >> But I wonder to konwn if the system is periodical, the first number seems >> to be only the basis number in a unit cell. >> So my question is :Is *.DM contains only the information in a unit cell? >> >> The second block of *.DM contains Norbit integers.I think each number >> stands each row,for there are Norbit rows in the *.DM file.Each number >> indicates the index of column for each non-zero element of the row? Each >> row have a small block,and there are Norbit small block in the second >> block. >> >> The third block of *.DM is the DM element corresponding to the list in >> second block. >> >> If the consideration is right above.There is another question:in the >> second block, for each row,the column index, some times, not from smaller >> to bigger.Just like this: >> 1 >> 2 >> 3 >> 4 >> 5 >> 6 >> 7 >> 8 >> 9 >> 10 >> 11 >> 12 >> 13 >> 14 >> 15 >> 16 >> 17 >> 18 >> 19 >> 20 >> 21 >> 22 >> 23 >> 24 >> 25 >> 26 >> 32 >> 33 >> 34 >> 35 >> 36 >> 27 >> 28 >> 29 >> 30 >> 31 >> In addition to this ,this is a periodical system in there direction. >> >> Now I want to extract a part of the *.DM,belonging to a rang from basis_i >> to basis_f.And then construct a new *.DM then feed it to siesta for the >> subsytem whose basis is from basis_i to basis_f. >> So for each row,which column index should I pick out? >> ( Is this criterion enough?: index_of_basis_i<=index<=index_of_basis_f) >> >> Thank in advance! >> >> >> 2010-07-24 >> >> >> >> Guangping Zhang >> --------------------------------------------------------- >> 定时æé†’您处ç†é‚®ä»¶ã€é«˜æ•ˆåŠžå…¬ä¸è´¹å¿ƒï¼Œè¯·ç”¨ç½‘易闪电邮(fm.163.comï¼‰ï¼ >> >> >> >> >> å‘件人: [email protected] >> å‘逿—¶é—´: 2010-07-24 00:21 >> 主 题: Re: [SIESTA-L] about the DM file >> 收件人: [email protected] >> >> >> >> >>> Dear siesta users and developers: >>> Now I want to konw the structure of the DM file.So I convert it to DMF >>> file which is readable. >>> But I have a question about the meaning of the integers after the number >>> of orbitals ,spins and a serial integer numbers whose number is the same >>> with the number of orbitals.But the following integer numbers,I am >>> puzzling.What does they mean,they do not arrange from smaller to >>> bigger,they some times go backward then forward. >>> Who can tell me what does they mean? >>> It is a urgency. >>> >> Hi, >> the reading/writing from the DM file is organized in iodm.F >> However, it is somehow difficult to understand it at once. >> In a nutshell, DM is stored as a sparse matrix - for each basis >> function (say a line in the density matrix), >> the list follows of non-zero elements, followed by their values. >> Moreover the lists are created which relate the column number of each >> non-zero element to which basis function it refers to. >> I "streamlined" a bit the i/o procedure in my DMtune suite >> http://www.home.uni-osnabrueck.de/apostnik/Software/DMtune.tar.gz >> , adding some comments (but not much). >> >> Best regards >> >> Andrei Postnikov >> >
