[molpro-user] Bug report: out-of-plane constraint units, including incorrect conversion to radians using the angstrom-to-bohr factor
Lauria, Kshitij
Kshitij.Lauria at DEShawResearch.com
Wed Jan 11 21:10:32 CET 2017
Hello Molpro users/developers,
Summary: When out-of-plane constraint angles are specified in radians and the unit is explicitly stated, Molpro incorrectly multiplies the input angle by 1/0.529, the Angstrom-to-Bohr conversion factor. Additionally, when the unit is left out, Molpro interprets angles as being in radians, in contradiction to the documentation (https://www.molpro.net/info/2015.1/doc/manual/node645.html)
I am running three calculations, where everything is held constant except the units in the constraint line. Here are three variations:
{optg,maxit=50
method,slrf
constraint,-0.226874,outofplane,atoms=[7,6,8,9]
}
{optg,maxit=50
method,slrf
constraint,-0.226874,deg,outofplane,atoms=[7,6,8,9]
}
{optg,maxit=50
method,slrf
constraint,-0.226874,rad,outofplane,atoms=[7,6,8,9]
}
Here is how molpro interprets these three conditions:
CONDITION 1:
{optg,maxit=50
method,slrf
constraint,-0.226874,outofplane,atoms=[7,6,8,9]
}
********** USER DEFINED INT/FIX/CONSTRAINTS ****************
List of primitive internal coordinates
N Name Type Natoms Atom list
1 Ou0001 OutOfP 4 N6 C5 O7 O8
List of user defined internal/fixed coordinates and constraints
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
N Name Type Pname Coeff Value Unit
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 Cns001 Con Ou0001 1.000 -0.22687 Bohr
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
******************************************************************
************************************************************************************************************************
OU0001 = OUTOFP N6 C5 O7 O8
VALUES
OU0001 = -0.22687400
************************************************************************************************************************
*************************************************************
* Values of the primitive constraints *
*************************************************************
OU0001 : Out of plane angle= 0.0011/degree, 0.0000/rad
*******************************************
* Values of the constraints / au or rad *
*******************************************
Label C C0
Cns001 0.000019 -0.226874
CONDITION 2:
{optg,maxit=50
method,slrf
constraint,-0.226874,deg,outofplane,atoms=[7,6,8,9]
}
********** USER DEFINED INT/FIX/CONSTRAINTS ****************
List of primitive internal coordinates
N Name Type Natoms Atom list
1 Ou0001 OutOfP 4 N6 C5 O7 O8
List of user defined internal/fixed coordinates and constraints
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
N Name Type Pname Coeff Value Unit
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 Cns001 Con Ou0001 1.000 -0.22687 Bohr
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
************************************************************************************************************************
OU0001 = OUTOFP N6 C5 O7 O8
VALUES
OU0001 = -0.22687400
************************************************************************************************************************
*************************************************************
* Values of the primitive constraints *
*************************************************************
OU0001 : Out of plane angle= 0.0011/degree, 0.0000/rad
*******************************************
* Values of the constraints / au or rad *
*******************************************
Label C C0
Cns001 0.000019 -0.226874
CONDITION 3:
{optg,maxit=50
method,slrf
constraint,-0.226874,rad,outofplane,atoms=[7,6,8,9]
}
********** USER DEFINED INT/FIX/CONSTRAINTS ****************
List of primitive internal coordinates
N Name Type Natoms Atom list
1 Ou0001 OutOfP 4 N6 C5 O7 O8
List of user defined internal/fixed coordinates and constraints
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
N Name Type Pname Coeff Value Unit
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 Cns001 Con Ou0001 1.000 -0.22687 Angstrom
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OU0001 = OUTOFP N6 C5 O7 O8
VALUES
OU0001 = -0.22687400 ANGSTROM
************************************************************************************************************************
*************************************************************
* Values of the primitive constraints *
*************************************************************
OU0001 : Out of plane angle= 0.0011/degree, 0.0000/rad
*******************************************
* Values of the constraints / au or rad *
*******************************************
Label C C0
Cns001 0.000019 -0.428730
So when no units are specified, molpro took the constraint to be -0.227 BOHRS (???) but then later also prints that it is -0.227 radians.
Okay, at this point I'm thinking "They have a silly little printing bug; they have quantities in either bohrs/radians or angstroms/degrees, and printed BOHR instead of RADIAN to mean that we're in the first regime."
But when degrees were specified, molpro again states that the constraint is -0.227 BOHRS, then prints -0.227 radians.
So now I'm thinking, "It just ignores the units on the constraint." Fine.
But in condition 3 (input says radians), we have -0.22687 Angstrom and the constraint value later printed as -0.428730 radians.
So the unit on the constraint is not being ignored. Even worse, that -0.42873 is suspiciously like 2 * -0.227, or more precisely 1/0.529 * -0.227.
In other words, molpro went and converted my radians into radians as if it were converting angstrom to bohrs.
Full input:
(You will probably need to replace the basis=desavdz-rev5 with some other basis to run this.)
***,nitrobenzene
memory,925,M
gdirect
thrdscf=1e-12,thrdscf_max=1e-9
gthresh,throvl=1e-9,throrth=1e-7,energy=1e-8,optgrad=1e-4,optstep=1e-4,optenerg=1e-6
set,charge=0
set,spin=0
geomtyp=xyz
symmetry,nosym
orient,noorient
geometry=
{
14
No title
C0 1.8842800000 -1.0404400000 -0.1298200000
C1 0.8050200000 -0.4387900000 0.5477900000
C2 2.9451500000 -1.6111600000 0.6014600000
C3 0.7763200000 -0.4020600000 1.9543900000
C4 2.9373100000 -1.5857400000 2.0085900000
C5 1.8480500000 -0.9790600000 2.6553800000
N6 1.8287700000 -0.9463200000 4.1392300000
O7 0.8566600000 -0.4084700000 4.6891700000
O8 2.7859900000 -1.4587800000 4.7374200000
H9 1.8984500000 -1.0646300000 -1.2234200000
H10 -0.0190100000 0.0047500000 -0.0185500000
H11 3.7834600000 -2.0785800000 0.0768300000
H12 -0.0477300000 0.0578100000 2.5026300000
H13 3.7465200000 -2.0206400000 2.5977800000
}
basis=desavdz-rev5
spherical
core,9
{df-hf,accu=15,maxit=100
}
{df-lmp2
local,thrbp=0.980,mergedom=1
pipek,delete=2,method=3
}
{optg,maxit=50
method,slrf
constraint,-0.226874,outofplane,atoms=[7,6,8,9]
}
put,xyz
jobstep opt0_w_basis_d
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.molpro.net/pipermail/molpro-user/attachments/20170111/5d389b04/attachment-0001.html>
More information about the Molpro-user
mailing list