Obviously I did. I also recompiled whole package of siesta
I did the same calculation in stable version (siesta2.0.1)
 and everything works fine.

I have only problem with siesta3.0b version.
I think it is connected with "ncon" variable( this variable is only needed
in siesta3.0), but I don't understand from manual
how to choose this variable properly.
 So I suppose this is  why siesta can't see this routine.

Are  experienced at writing consrt.f in siesta3.0 version?

Best regards
Magda

2010/1/29 Marty Blaber <[email protected]>

> Hi Magda,
>
> Did you remember to include the
>
> %block GeometryConstraints
>    routine constr
> %endblock GeometryConstraints
>
> in your fdf?
> (I only mention because I kept forgetting)
>
> Cheers,
> Marty
>
>
> On 29 January 2010 05:18, Magdalena Birowska <[email protected]>wrote:
>
>> Dear siesta users;
>>
>> I used constr.f routine to implement symmetry in my calculation.
>> I generate this constr.f by TETR utility. My calculations finishes
>> successfully,
>> however I got the same results without any constraints in my calculations.
>> It always does in siesta-trunk-301 or siesta-trunk-320 version
>> ( the results are the same with and without any constraints).
>> If I do my calculation in siesta2.0.1 everything works fine
>>  (my calculation with and without constraints are  different, I mean
>> forces and stress.)
>>
>> Do you have any ideas why new version of siesta can't sees this routine.
>> I'm not sure about the ncon variable in constr.f
>>  ( in siesta2.0.1 there was no need to write ncon variable).
>>
>> Please help me if you are experienced at writing consrt.f
>>
>> My constr.f routine is as following:
>>
>> !
>> ! This file is part of the SIESTA package.
>> !
>> ! Copyright (c) Fundacion General Universidad Autonoma de Madrid:
>> ! E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
>> ! and J.M.Soler, 1996-2006.
>> !
>> ! Use of this software constitutes agreement with the full conditions
>> ! given in the SIESTA license, as signed by all legitimate users.
>> !
>> c $Id: constr.f,v 1.6 2003/06/23 09:46:16 ordejon Exp $
>>
>>       subroutine constr( cell, na, isa, amass, xa, stress, fa, ntcon )
>> c *****************************************************************
>> c User-written routine to implement specific geometric constraints,
>> c by orthogonalizing the forces and stress to undesired changes.
>> c Arguments:
>> c real*8  cell(3,3)    : input lattice vectors (Bohr)
>> c integer na           : input number of atoms
>> c integer isa(na)      : input species indexes
>> c real*8  amass(na)    : input atomic masses
>> c real*8  xa(3,na)     : input atomic cartesian coordinates (Bohr)
>> c real*8  stress( 3,3) : input/output stress tensor (Ry/Bohr**3)
>> c real*8  fa(3,na)     : input/output atomic forces (Ry/Bohr)
>> c integer ntcon        : total number of positions constr. imposed
>> c *****************************************************************
>>       implicit         none
>>       integer          na, isa(na), ntcon
>>       double precision amass(na), cell(3,3), fa(3,na),
>>      .                 stress(3,3), xa(3,na)
>>
>> c Write here your problem-specific code.
>> c..operations:   1    5   11   31   13   28   16   15   32   14   47
>> 17   44    7   33   30   45   46   12   42   18   29    9   43
>> c              UNIT  C2Z  C3D S4Z3  C3A  S4Z -C3C -C3D S4X3  C3B   P6
>> -C3A   P3  C2X S4Y3  S4Y   P4   P5  C3C   P1 -C3B  S4X  C2Y   P2
>> c=======> orbit=   1, 1st atom =   1 <=======
>> c...local:  C2Z  C3D S4Z3  C3A  S4Z -C3C -C3D S4X3  C3B   P6
>> c...local: -C3A   P3  C2X S4Y3  S4Y   P4   P5  C3C   P1 -C3B
>> c...local:  S4X  C2Y   P2
>> c type=I, eigenvector =     0.00000    0.00000    1.00000
>>       fa(1,1)=0.0
>>       fa(2,1)=0.0
>>       fa(3,1)=0.0
>> c=======> orbit=   2, 1st atom =   2 <=======
>> c...local:  C2Z S4Z3  S4Z  C2X   P1  C2Y   P2
>> c type=I, eigenvector =     0.00000    0.00000    1.00000
>>       fa(1,2)=0.0
>>       fa(2,2)=0.0
>>       fa(3,2)=0.0
>> c=======> orbit=   3, 1st atom =   5 <=======
>> c...local: -C3C   P3   P5  C3C   P1
>> c type=C, eigenvector =    -0.57735   -0.57735   -0.57735
>>       fa(2,5)=   1.00000*fa(1,5)
>>       fa(3,5)=   1.00000*fa(1,5)
>> c....... force on Ga atom     3 via atom     2 and operation  C3D
>> c     fa(1,3)=C(1,1,11)*fa(1,2)+C(1,2,11)*fa(2,2)+C(1,3,11)*fa(3,2)
>> c     fa(2,3)=C(2,1,11)*fa(1,2)+C(2,2,11)*fa(2,2)+C(2,3,11)*fa(3,2)
>> c     fa(3,3)=C(3,1,11)*fa(1,2)+C(3,2,11)*fa(2,2)+C(3,3,11)*fa(3,2)
>>       fa(1,3)=-1.00000*fa(2,2)
>>       fa(2,3)=+1.00000*fa(3,2)
>>       fa(3,3)=-1.00000*fa(1,2)
>> c
>> c....... force on Ga atom     4 via atom     2 and operation -C3D
>> c     fa(1,4)=C(1,1,15)*fa(1,2)+C(1,2,15)*fa(2,2)+C(1,3,15)*fa(3,2)
>> c     fa(2,4)=C(2,1,15)*fa(1,2)+C(2,2,15)*fa(2,2)+C(2,3,15)*fa(3,2)
>> c     fa(3,4)=C(3,1,15)*fa(1,2)+C(3,2,15)*fa(2,2)+C(3,3,15)*fa(3,2)
>>       fa(1,4)=-1.00000*fa(3,2)
>>       fa(2,4)=-1.00000*fa(1,2)
>>       fa(3,4)=+1.00000*fa(2,2)
>> c
>> c....... force on As atom     6 via atom     5 and operation  C2Z
>> c     fa(1,6)=C(1,1,5)*fa(1,5)+C(1,2,5)*fa(2,5)+C(1,3,5)*fa(3,5)
>> c     fa(2,6)=C(2,1,5)*fa(1,5)+C(2,2,5)*fa(2,5)+C(2,3,5)*fa(3,5)
>> c     fa(3,6)=C(3,1,5)*fa(1,5)+C(3,2,5)*fa(2,5)+C(3,3,5)*fa(3,5)
>>       fa(1,6)=-1.00000*fa(1,5)
>>       fa(2,6)=-1.00000*fa(2,5)
>>       fa(3,6)=+1.00000*fa(3,5)
>> c
>> c....... force on As atom     7 via atom     5 and operation  C3D
>> c     fa(1,7)=C(1,1,11)*fa(1,5)+C(1,2,11)*fa(2,5)+C(1,3,11)*fa(3,5)
>> c     fa(2,7)=C(2,1,11)*fa(1,5)+C(2,2,11)*fa(2,5)+C(2,3,11)*fa(3,5)
>> c     fa(3,7)=C(3,1,11)*fa(1,5)+C(3,2,11)*fa(2,5)+C(3,3,11)*fa(3,5)
>>       fa(1,7)=-1.00000*fa(2,5)
>>       fa(2,7)=+1.00000*fa(3,5)
>>       fa(3,7)=-1.00000*fa(1,5)
>> c
>> c....... force on As atom     8 via atom     5 and operation  C3A
>> c     fa(1,8)=C(1,1,13)*fa(1,5)+C(1,2,13)*fa(2,5)+C(1,3,13)*fa(3,5)
>> c     fa(2,8)=C(2,1,13)*fa(1,5)+C(2,2,13)*fa(2,5)+C(2,3,13)*fa(3,5)
>> c     fa(3,8)=C(3,1,13)*fa(1,5)+C(3,2,13)*fa(2,5)+C(3,3,13)*fa(3,5)
>>       fa(1,8)=+1.00000*fa(2,5)
>>       fa(2,8)=-1.00000*fa(3,5)
>>       fa(3,8)=-1.00000*fa(1,5)
>> c
>> c... STRESS tensor: crystal class Td , dimension = 3D
>>       stress(1,3)=0.0
>>       stress(2,3)=0.0
>>       stress(1,2)=0.0
>>       stress(2,2)=stress(1,1)
>>       stress(3,3)=stress(1,1)
>>       stress(2,1)=stress(1,2)
>>       stress(3,1)=stress(1,3)
>>       stress(3,2)=stress(2,3)
>>       ntcon=9
>>
>>       end
>>
>> Many thanks in advance for any suggestions.
>>
>> Magda Birowska
>>
>>
>>
>

Responder a