Dear Adam, Thank you very much for your kind advice. I tried to use the 'GeometryConstraints' block with 'routine', but what confuses me is that I find two constr.f files in the src and its subdirectory, respectively. Since I have no idiea which one should be edited for the calculation and find that ZMatrix also can provide the constraints on the geometry relaxation, the latter will be used. After this calculation, I will try both constr.f files one by one.
2007/3/30, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
Dear Yong Liu, > I also found the 'routine' of 'GeometryConstraints' in the manual. But > it's too brief for me to use it. Would you mind send me some detail > information about this trick? Z-matrix was also suggested but if does not work then you can use the GeometryConstraints block with 'routine'. It means that SIESTA will use the constraints defined in constr.f file. Unfortunately, I do not find my original files as example but I give you some hints. By default, constr.f file does not effect the calculation, it is a template file. You should edit this file and program your constraints for your particular input. Your input: >>which has a=b!=c, Pb(0,0,x1), > > > > Ti(0.5,0.5,x2),O1(0,0.5,x3),O2(0.5,0,x3),O3(0.5,0.5,x4) Then you should program that: cell(1,1)=cell(2,2) cell(1,2)=0.0 cell(1,3)=0.0 cell(2,1)=0.0 cell(2,3)=0.0 cell(3,1)=0.0 cell(3,2)=0.0 With this you define a=b!=c system. More important you should define the constraints for stress matrix: stress(1,1)=stress(2,2) ,etc. if the order of your atoms is set as you listed above: ! the third coordinate of the given atom should be the multiplication of ! the third coordinate of the first atom xa(3,2)= xa(3,1)*2 xa(3,3)= xa(3,1)*3 xa(3,4)= xa(3,1)*3 xa(3,5)= xa(3,1)*4 and you can fix the other coordinates as well. It is important to symmetrize your atomic forces as well ('fa' array). This will ensure that you will keep the symmetry during the optimization. You have to look at the source code for the meaning of 'ntcon' and how to set it. Maybe, it is needed for normalization of the forces but I do not remember for that any more. After you programmed it you should compile the code and run it. I advise you to first to try it on very simple examples (like small symmetric molecules), then for very simple lattice (to compute the symmetric stress tensor) and, then to apply for your problem. Yours, Adam ------------------------------------------------------------------------------- Dr. Gali Ádám Adam Gali, PhD Budapesti Műszaki és Department of Atomic Physics, Gazdaságtudományi Egyetem, Budapest University of Technology and Atomfizika Tanszék Economics Budapest, Budafoki út 8., 1111 Budafoki út 8., H-1111, Budapest, Hungary telefon: 463-1580 telephone: [36]-(1)-463-1580 fax: 463-4357 fax: [36]-(1)-463-4357 e-mail: [EMAIL PROTECTED] http://www.fat.bme.hu/homepages/galia/index.en.html -------------------------------------------------------------------------------
-- Best regards. ------------------------------------------------------------------------------------- Liu, Yong, Ph D Institute of Inorganic Materials, Department of Materials Science and Engineering, Zhejiang University,PR China