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

Reply via email to