[gmx-users] Re: Best way to handle linear rigid molecules.

Jennifer Williams Jennifer.Williams at ed.ac.uk
Tue Jul 14 15:39:10 CEST 2009


Hi gmx users

I am still having problems modelling small linear molecules. Following  
advice from the forum (see below), I tried to define CO2 using 2 dummy  
atoms (with averaged masses) which I placed in the same positions as  
my oxygen atoms. (This involves having to replicate coordinates for O  
in my pdb file which will be fiddly when I have hundreds of CO2  
molecules).

Here is my .itp file for CO2;


[ atomtypes ]
;   type      mass    charge    ptype       c6            c12
    C_CO    0.0000000     0.5406       A	 0.0000      0.00000000
    O_CO    0.0000000    -0.2703       A	 0.29847     1.10765301
    DUM    22.004975      0.0000       V	 0.0000      0.00000000


[ moleculetype ]
; name  nrexcl
CO2         2

[ atoms ]
;   nr  type    resnr   residu  atom    cgnr    charge	mass
1       C_CO     1       CO2    C_CO      1        0.5406  0.0000000
2       O_CO     1       CO2    O_CO      1       -0.2703  0.0000000
3       O_CO     1       CO2    O_CO      1       -0.2703  0.0000000
4       DUM      1       CO2    DUM       1        0.0000  22.004975
5       DUM      1       CO2    DUM       1        0.0000  22.004975


[ constraints ]
;  ai  aj funct           c0           c1
2       3	1	   0.24176

[ virtualsites2]
;  ai    aj    ak       funct   c0      c1
     4     2     3       1       0.0000
     5     2     3       1       0.24176

I am not sure what the final terms in the virtual sites section stand  
for and I have not found a lot of detail in the manual (section 4.7  
and 5.5.2). I assumed that the first term defines the virtual atom  
site, the second and third are the positions of the real atoms which  
the virtual atom is placed in relation to. What does the function ?1?  
stand for?  Here I tried to place the virtual atoms in the same  
positions as my ?real? oxygens- I am not sure if this will be allowed?

However, when I run this I get:


ERROR 1 [file MCM_CO2.top, line 8230]:
   atom C_CO (Res CO2-1) has mass 0


ERROR 2 [file MCM_CO2.top, line 8230]:
   atom O_CO (Res CO2-1) has mass 0



ERROR 3 [file MCM_CO2.top, line 8230]:
   atom O_CO (Res CO2-1) has mass 0



ERROR 4 [file MCM_CO2.top, line 8230]:
   virtual site DUM (Res CO2-1) has non-zero mass 22.005
        Check your topology.



ERROR 5 [file MCM_CO2.top, line 8230]:
   virtual site DUM (Res CO2-1) has non-zero mass 22.005
        Check your topology.

So the approach of modelling dummy atoms with a mass and the real  
atoms as mass-less generates errors. How do I solve this? Importantly  
I need to get the MSD of the CO2 molecules so I am a bit confused with  
the approach of using virtual atom sites to model CO2. Which groups  
would I then select for the MSD? The virtual site with the mass or the  
real atoms site which is mass-less?  Is this approach realistic?

I have also tried to model CO2 2 different approaches

1.	Using bond constraints and setting the bond angle to 180 and using  
a large bending constant to keep the molecule effectively rigid.

Here I got the following error message and the run stopped after 2 timesteps;

Step 1, time 0.001 (ps)  LINCS WARNING
relative constraint deviation after LINCS:
rms 0.969889, max 10.563440 (between atoms 1072 and 1074)
bonds that rotated more than 30 degrees:
  atom 1 atom 2  angle  previous, current, constraint length
    1072   1073   89.9    0.1210   0.6876      0.1209
    1072   1074   92.4    0.1210   1.3978      0.1209
    1075   1076   86.8    0.1209   0.1303      0.1209
    1075   1077   86.8    0.1209   0.1307      0.1209
Wrote pdb files with previous and current coordinates


2.	Using constraints to keep the C-O bond fixed to 0.12 and another  
constraint between O and O of 0.24. I hoped this would keep the O-C-O  
linear.

Here, the md.log file contained the following;


6 constraints are involved in constraint triangles,
will apply an additional matrix expansion of order 4 for couplings
between constraints inside triangles

The job ran to completion but on viewing the trajectory, the CO2  
molecules are only approximately linear.

If anyone has an example file for a triatomic linear molecule like  
CO2, I?d be very grateful if you could post it so I could use it as a  
template,

I am using gromacs version 4.0.5

Thanks











Hi,

This question has been asked several times before on this list.
The proper way to handle this in Gromacs is to introduce two dummy  
mass particles
in such a way the total mass and the moment of inertia is identical to CO2.
Then you can construct the positions of the three mass-less C and O atoms from
the positions of the masses using virtual sites (see the manual).

Berk



Quoting Jennifer Williams <Jennifer.Williams at ed.ac.uk>:

> Hello users,
>
> I am using gromacs v 4.0.5
>
> What is the best way to treat linear triatomic molecules such as CO2.
> Is there some kind of rigid algorthym as in DL_POLY?
>
> In the asbsence of a ?rigid? algorthym. I initially intended to ?fix?
> the C=O bond length using constraints (as below) and somehow ?fix? the
> O=C=O bond angle to 180.
>
>
> [ atomtypes ]
> ;   type      mass    charge    ptype       c6            c12
>    C_CO2    12.01115    0.5406      A	0.0000      0.00000000
>    O_CO2    15.9994    -0.2703      A	0.29847     1.10765301
>
> [ moleculetype ]
> ; name  nrexcl
> CO2         2
>
> [ atoms ]
> ;   nr  type    resnr   residu  atom    cgnr    charge	mass
> 1       C_CO2     1       CO2    C_CO2      1        0.5406  12.01115
> 2       O_CO2     1       CO2    O_CO2      1       -0.2703  15.9994
> 3       O_CO2     1       CO2    O_CO2      1       -0.2703  15.9994
>
> [ constraints ]
> ;  ai  aj funct           c0           c1
> 1       2	1	   0.12088
> 1       3	1	   0.12088
>
> [ angles ]
> ;  ai    aj    ak       funct   c0      c1
>     2     1     3       1       180.00
>
> First question... How do I go about fixing this angle to 180degrees?
> Should I just make c1 extremely large? Is there a more elegant way of
> going about this? Someone also mentioned using a virtual site
> representation for the C. Any comments on this welcome.
>
> I read some posts which imply that the angle bending code apparently can't
> handle angles of exactly 180 degrees.
>
> http://www.mail-archive.com/gmx-users@gromacs.org/msg09979.html
>
> This was a while ago so perhaps this has been dealt with in the current
> version of gromacs?
>
>
> Thanks



-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.





More information about the gromacs.org_gmx-users mailing list