Dear Steve,
I am trying to create molecules using following script but am stuff with following error. The explanation of this error does not show up on the “Section-Error” page. Do we need to put special flags also in the molecule file even if we don’t have special bonds? Please guide. I am running Aug 1st version of the lammps (just downloaded). The error is shown in the subject line.
Here is my simple input script.
Dear Steve,
I am trying to create molecules using following script but am stuff with
following error. The explanation of this error does not show up on the
"Section-Error" page. Do we need to put special flags also in the molecule
file even if we don't have special bonds? Please guide. I am running Aug 1st
if you have bonds, you have to specify exclusions.
your input file uses the default setting, which is lj/coul 0.0 0.0 0.0
and that means you have excluded bonds, angles and dihedrals.
the document for the molecule command is very clear on that matter:
If a Bonds section is specified then the Special Bond Counts and
Special Bonds sections must be also, since the latter is needed for
LAMMPS to properly exclude or weight bonded pairwise interactions
between bonded atoms. See the special_bonds command for more details.
axel.
Dear Axel,
Thanks for the note. This is what confused me. The doc page ‘also’ says the following in “Special Bond Counts” and “Special Bonds” section.
“If this section is not specied, the atoms in the molecule will have no special bonds.”, which makes the sentence you copied somewhat confusing because according in this sentence, there can be bonds, but we do not to have the special bonds sections specified if there are no special bonds.
Dear Steve
In any case, I do not want any special bonds in my molecule. So, I added following lines into the molecule.template
You do have exclusions. Full stop.
Can someone else answer, please?
Can someone else answer, please?
Dear Axel,
Thanks for the note. This is what confused me. The doc page 'also' says the
following in "Special Bond Counts" and "Special Bonds" section.
"If this section is not specied, the atoms in the molecule will have no
special bonds.", which makes the sentence you copied somewhat confusing
because according in this sentence, there can be bonds, but we do not to
have the special bonds sections specified if there are no special bonds.
that looks like unfortunate wording to me.
in any case, LAMMPS will work the way it is programmed and not the way
how you personally want to interpret the documentation.
your special bonds entries in the molecule file have to be compatible
with your overall settings and those require special bonds in your
molecule template.
as a test, please create a regular data file with a single molecule
and use read_data and run 0 and see for yourself.
Dear Steve
In any case, I do not want any special bonds in my molecule. So, I added
following lines into the molecule.template
--------------------------------
Special Bond Counts # (I did not but anything for fourth column as I do not
have any dihedrals)
1 0 0
2 0 0
3 0 0
4 0 0
Special Bonds # (As there are no special bonds, left each of them blank)
1
2
3
4
--------------------------------
Then, I got to following error.
ERROR: Molecule toplogy/atom exceeds system topology/atom
(../molecule.cpp:1030).
please see the extra/bond/per/atom and similar setting for the
create_box command and examples/deposit/in.deposit.molecule
axel.
Can someone else answer, please?
please, how will this change what LAMMPS will do or not?
axel
Dear Axel,
Thanks for the input. I looked the create_box command and got the create_atoms command to work.
With respect to your second comment, " how will this change what LAMMPS will do or not?" While it will not change how LAMMPS behave, someone else explanation might have changed my misinterpretation. Never mind, by few trials and errors and printing few additional lines in molecule.cpp to track where the errors were coming from, I figured it out.
Now, I have another issue associated with write_data, which I will post in a separate email.
Thanks.
Vikas
I’m not clear on the confusion.
This error:
ERROR: Molecule toplogy/atom exceeds system topology/atom
occurs b/c you have listed more bonds/atom or angles (etc)/atom
then LAMMPS has allocated storage for. Normally these limits
are calculated when a data file is read. But for create_atoms with
molecules, you often need to specify these limits in the create_box
command. It has options for it.
The error has nothing to do with special bonds, which are LAMMPS
terminology for a list of 1-2, 1-3, 1-4 interactions an atom is part
of that are turned on/off via the special_bonds command.
If you don’t list those in your molecule file, they won’t exist, and
thus you cannot exclude them with the special_bonds command.
Thus if you need to exclude them in your model (you might not
if the molecules will simply be rigid bodies), then you have to
list them.
Steve
Dear Steve,
Thanks for your reply back. I figured it out, late last night after few discussions with Axel and looking more carefully on create_box command.
Best Regards,
Vikas