Dear  professor 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
          4
          5
          6
          7
          8
          9
         10
         11
         12
         13
         14
         15
         16
         17
         18
         19
         20
         21
         22
         23
         24
         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



Guangping Zhang
---------------------------------------------------------
网易闪电邮(fm.163.com),您的专属邮件管家



发件人: "Guangping Zhang" <[email protected]>
发送时间: 2010-07-24 10:38
主 题: Re: Re: [SIESTA-L] about the DM file
收件人: "siesta-l" <[email protected]>



Dear  professor Andrei Postnikov,
I get benefit from the codes in Util\Contrib\APostnikov directory of siesta,and 
your update of it on your web.So thank you so much.
But let me thank you again for your attention to my silly question.
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 

Responder a