Hi,all: i want to relax the geometry of the cell, but i only need relax the c cellside, and fix the a, b side.
according to the manual; i rewrite the cinstr.f the code is *! 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.* * stress(1,2) = 0.0d0* * stress(1,3) = 0.0d0* * stress(1,1) = 0.0d0* * stress(2,1) = 0.0d0* * stress(2,2) = 0.0d0* * stress(2,3) = 0.0d0* * stress(3,1) = 0.0d0* * stress(3,2) = 0.0d0* *c stress(3,3) = 0.0d0* * return* * end* am i right? my question is in the fdf input file, Should i set the MD.VariableCell =T and also Set %block GeometryConstraints routine constr %endblock GeometryConstraints or set the latter only, let the MD.VariableCell =F i need your help thanks very much! -- unl chemistry department