Dear developers and list users,
I dug a little bit into the source code, and have confirmed
that there is a bug in the code. The negative symbol should
be removed in line 143 - 151 of cgvc.F, by replaceing
tstres(1,1) = - sxx * tp
tstres(2,2) = - syy * tp
tstres(3,3) = - szz * tp
tstres(1,2) = - sxy * tp
tstres(2,1) = - sxy * tp
tstres(1,3) = - sxz * tp
tstres(3,1) = - sxz * tp
tstres(2,3) = - syz * tp
tstres(3,2) = - syz * tp
with
tstres(1,1) = sxx * tp
tstres(2,2) = syy * tp
tstres(3,3) = szz * tp
tstres(1,2) = sxy * tp
tstres(2,1) = sxy * tp
tstres(1,3) = sxz * tp
tstres(3,1) = sxz * tp
tstres(2,3) = syz * tp
tstres(3,2) = syz * tp
It can be proved by running two cases of hydrostatic pressure
with MD.TargetPressure not equal to 0, say, 2 GPa. One case
uses default value of MD.TargetStress implicitly, meaning not
to set the %block MD.TargetStress in the input file. Another
case set the %block explicitly as
%blocak MD.TargetStress
-1.0 -1.0 -1.0 0.0 0.0 0.0
%endblock MD.TargetStress
The results of the two runs are supposed to be the same, but
in fact they are not. The former is compression while the latter
is extension.
Happy new year!
Dr. Huiqun Zhou
----- Original Message -----
From: "Huiqun Zhou" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, December 25, 2006 4:11 PM
Subject: [SIESTA-L] question about MD.TargetStress
Dear list-users,
I'm running variable cell optimization (CG). Contrary to the
description in the manual, I found that if I want to apply
uniaxial compressive stress in zz (001) direction, I must
set MD.TargetStress as below:
%block MD.TargetStress
0.0 0.0 1.0 0.0 0.0 0.0
%endblock MD.TargetStress
in order to get correct compression. Otherwise, replacing 1.0
with -1.0 as suggested in the manual, I can only get effect
of expansion, the length along zz direction becomes longer
and longer.
BTW, I always set MD.TargetPressure as a positive number.
Any ideas?
Merry Christmas to every one!
Huiqun Zhou