Problem in reading mol id from .dump LAMMPS file

53 views
Skip to first unread message

Sanjeet Singh

unread,
Feb 26, 2023, 1:38:52 PM2/26/23
to votca
Hello Everyone,

I am trying to generate RDF for a Homopolymer electrolyte system using csg_stat command as below:

csg_stat --top topology.xml --trj Trajectory2.dump --cg "PL.xml;SI.xml;L.xml" --options NONBON-RDF.xml 

But, I am getting the below error:

Reading frame, timestep 0
0.129656
 2.17926
 1.35263  1.58523
 1.21644
0.158685
an error occurred:
coarse-grained bead is bigger than half the box
 (atoms CT1 (id 766), FT15 (id 780), molecule 12)

From the above message, it can be seen that the error occurred at timestep 0. So, I tried to verify the error. The coordinates of the atoms with id 766 and id 780 are read correctly from the trajectory file. But, atom CT1 and FT15 belong to molecule 13, and not 12. CT1 should be actually LI1 as per my topology.

Actually, my system consists of 10 polymer chains and 7 ion pairs. So, I have three types of molecules in my system: first polymer, second anion, and third cation. And, in the LAMMPS data file the atoms are listed such that first it gives the coordinates of the atoms of the 10 polymer chains, followed by the coordinates of the first anion and cation, then the coordinates of the second anion and cation, and so on.

But, csg_stat is reading the trajectory in such a way that the LAMMPS data file first lists the coordinates of the 10 polymer chains, followed by the coordinates of the 7 anions in my system, and then the 7 cations, which is not the correct order. 

I have also verified this using csg_dump command. 

Can you please suggest to me how to correct this? Maybe a possible workaround for this?

Please find attached my topology, and mapping file.

Thank you.

Sanjeet









PL.xml
SI.xml
L.xml
topology.xml

Christoph Junghans

unread,
Feb 27, 2023, 4:30:27 PM2/27/23
to vo...@googlegroups.com
On Sun, Feb 26, 2023 at 11:38 Sanjeet Singh <sanje...@gmail.com> wrote:
Hello Everyone,

I am trying to generate RDF for a Homopolymer electrolyte system using csg_stat command as below:

csg_stat --top topology.xml --trj Trajectory2.dump --cg "PL.xml;SI.xml;L.xml" --options NONBON-RDF.xml 

But, I am getting the below error:

Reading frame, timestep 0
0.129656
 2.17926
 1.35263  1.58523
 1.21644
0.158685
an error occurred:
coarse-grained bead is bigger than half the box
 (atoms CT1 (id 766), FT15 (id 780), molecule 12)

From the above message, it can be seen that the error occurred at timestep 0. So, I tried to verify the error. The coordinates of the atoms with id 766 and id 780 are read correctly from the trajectory file. But, atom CT1 and FT15 belong to molecule 13, and not 12. CT1 should be actually LI1 as per my topology.
12 vs 13 is C numbering that starts with 0, so 0, 1, 2.

How big is your box and is any of the 3 distances in x,y or z bigger than half of that?

Usually this error hints at an error in the mapping, but if you are 100% sure, that is right but increase the box size.

Christoph 


Actually, my system consists of 10 polymer chains and 7 ion pairs. So, I have three types of molecules in my system: first polymer, second anion, and third cation. And, in the LAMMPS data file the atoms are listed such that first it gives the coordinates of the atoms of the 10 polymer chains, followed by the coordinates of the first anion and cation, then the coordinates of the second anion and cation, and so on.

But, csg_stat is reading the trajectory in such a way that the LAMMPS data file first lists the coordinates of the 10 polymer chains, followed by the coordinates of the 7 anions in my system, and then the 7 cations, which is not the correct order. 

I have also verified this using csg_dump command. 

Can you please suggest to me how to correct this? Maybe a possible workaround for this?

Please find attached my topology, and mapping file.

Thank you.

Sanjeet









--
Join us on Slack: https://join.slack.com/t/votca/signup
---
You received this message because you are subscribed to the Google Groups "votca" group.
To unsubscribe from this group and stop receiving emails from it, send an email to votca+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/votca/f7627abb-56c9-45e8-b614-6576eac1c22bn%40googlegroups.com.
--
Christoph Junghans
Web: http://www.compphys.de

Sanjeet Singh

unread,
Feb 27, 2023, 10:23:00 PM2/27/23
to vo...@googlegroups.com
Dear Christoph,

Thank you for your prompt response.

Sorry, I didn't convey my points clearly. I want to say that atom with id 766 is a single atom cation. In CG representation, it is a bead consisting of only one atom. While atom with id 780 is an atom belonging to an anion consisting of 15 atoms. Below I have attached the details from the LAMMPS trajectory file.

id        mol     type       q                  x                  y               z                fx                   fy                  fz

766      12       7            1             1.29656      21.7926    13.5263     -0.34422     0.0733004     -0.408895

780      13      5        -0.118          15.8523      12.1644    1.58685    -0.908541     2.12485          -4.0017

So, atoms with id 766 and 780 are not part of a single bead. In fact, they are not part of the same molecule. Therefore, there is no point in checking the condition "coarse-grained bead is bigger than half the box".

Actually, my system consists of 10 polymer chains and 7 ion pairs. So, I have three types of molecules in my system: first polymer, second anion, and third cation. And, in the LAMMPS data file the atoms are listed such that first, it gives the coordinates of the atoms of the 10 polymer chains, followed by the coordinates of the first anion and cation, then the coordinates of the second anion and cation, and so on.

But, csg_stat is reading the trajectory in such a way that the LAMMPS data file first lists the coordinates of the 10 polymer chains, followed by the coordinates of the 7 anions in my system, and then the 7 cations, which is not the correct order. 

I have also verified this using the csg_dump command. I have also rechecked my mapping and topology files, I didn't find any mistakes in these files.

Can you please suggest to me how to correct this? Maybe a possible workaround for this?

Thank you.

Sanjeet



--
Sanjeet Kumar Singh
Postdoctoral Fellow
LPCM Lab.
University De Sherbrooke
Sherbrooke, Canada.

Christoph Junghans

unread,
Feb 28, 2023, 10:32:40 PM2/28/23
to vo...@googlegroups.com
On Mon, Feb 27, 2023 at 8:23 PM Sanjeet Singh <sanje...@gmail.com> wrote:
Dear Christoph,

Thank you for your prompt response.

Sorry, I didn't convey my points clearly. I want to say that atom with id 766 is a single atom cation. In CG representation, it is a bead consisting of only one atom. While atom with id 780 is an atom belonging to an anion consisting of 15 atoms. Below I have attached the details from the LAMMPS trajectory file.

id        mol     type       q                  x                  y               z                fx                   fy                  fz

766      12       7            1             1.29656      21.7926    13.5263     -0.34422     0.0733004     -0.408895

780      13      5        -0.118          15.8523      12.1644    1.58685    -0.908541     2.12485          -4.0017

So, atoms with id 766 and 780 are not part of a single bead. In fact, they are not part of the same molecule. Therefore, there is no point in checking the condition "coarse-grained bead is bigger than half the box".

Actually, my system consists of 10 polymer chains and 7 ion pairs. So, I have three types of molecules in my system: first polymer, second anion, and third cation. And, in the LAMMPS data file the atoms are listed such that first, it gives the coordinates of the atoms of the 10 polymer chains, followed by the coordinates of the first anion and cation, then the coordinates of the second anion and cation, and so on.

But, csg_stat is reading the trajectory in such a way that the LAMMPS data file first lists the coordinates of the 10 polymer chains, followed by the coordinates of the 7 anions in my system, and then the 7 cations, which is not the correct order. 
Sorry isn't that the order how you list it in your topology.xml? You can run "csg_dump --top topology.xml" to see the order VOTCA is expecting.
The actual order in the dump file doesn't matter, VOTCA reads the atom id and then stores it in the right spot, you can test that by doing a dummy mapping (csg_map --no-map --trj file.dump --out file.xyz)

Christoph
 

Sanjeet Singh

unread,
Mar 2, 2023, 8:41:25 AM3/2/23
to votca
Dear Christoph,

Thank you for your reply.

I have figured out the solution. Actually, the format of the LAMMPS topology file was not in alignment with the VOTCA topology.xml file. 

So, I have changed the order in the LAMMPS topology file so that it matches with the VOTCA topology.xml file. Now, its working and I am able to generate my RDF.

Thank you.

Sanjeet
Reply all
Reply to author
Forward
0 new messages