Running Lammps in parallel with ReaxFF

Dear all,

I have a problem in compiling LAMMPS with ReaxFF enabled to run in
parallel. It builds and runs well on single core, but fails when I try
to run it on multiple processors.

OpenMPI 1.4 and Intel compilers v.12 are used.

My Makefile section is as follows:

reax_SYSLIB = -lifcore -lsvml -limf

I also tried adding -liomp5 and -liompstubs5 (the -lompstub lib is not
present in the system) and that had no effect.

Best regards,
Vasily.

How does it fail? Are you able to run other non-ReaxFF
input scripts in parallel?

Steve

How does it fail? Are you able to run other non-ReaxFF
input scripts in parallel?

I'm unable to launch the executable with mpi (no matter what the input
script is). Here is the error I get:

mpirun noticed that process rank 2 with PID 2550 on node
node1-012-25.lomonosov.parallel.ru exited on signal 9 (Killed).

I know it's Reax that causes the error because Lammps compiled without
it launches in parallel and produces output.

Best regards,
Vasily

How does it fail? Are you able to run other non-ReaxFF
input scripts in parallel?

I'm unable to launch the executable with mpi (no matter what the input
script is). Here is the error I get:

mpirun noticed that process rank 2 with PID 2550 on node
node1-012-25.lomonosov.parallel.ru exited on signal 9 (Killed).

I know it's Reax that causes the error because Lammps compiled without
it launches in parallel and produces output.

have you checked that you have the required fortran runtime library
on the problematic compute nodes?

is there any additional output from stdout/stderr?

can you request an interactive session (qsub -I (capital i) with torque)
to try out interactively?

could it be that you are simply running out of stack space
(happens with intel fortran a lot unless you use the -heap-arrays flag)?

axel.

have you checked that you have the required fortran runtime library
on the problematic compute nodes?

I believe it's present because meam examples run well. However, I can't
login to a specific node.

is there any additional output from stdout/stderr?

No. Just the line I mentioned.

can you request an interactive session (qsub -I (capital i) with torque)
to try out interactively?

Userguide says that openmpi tasks cannot be launched in interactive
mode. Also, installed on cluster is SLURP, not PBS.

could it be that you are simply running out of stack space
(happens with intel fortran a lot unless you use the -heap-arrays flag)?

Could you please explain how can I check that?

Best regards,
Vasily

Hi All,

  I have 3 atom types.
  Therefore 27 entries are needed in the tersoff potential
file. However, I would like to have LJ type interaction
for the pair 1-3 and I would like to use for 1-2, 2-3
the tersoff parameters.
lammps requires 27 entries, all the permutations, however.
  How to switch down 1-3 interaction for tersoff ?
Should I include in the potential file fake entries
for 1-3 in order to cheet the code ?

pair_style hybrid tersoff lj/cut 5.
pair_coeff * * mix_ZnSiO Zn O Si
pair_coeff 1 3 lj/cut 1.0 1.0

ERROR: Potential file is missing an entry

  Best regards, Peter Sule

2011/6/5 Süle Péter <[email protected]...>:

Hi All,

I have 3 atom types.
Therefore 27 entries are needed in the tersoff potential
file. However, I would like to have LJ type interaction
for the pair 1-3 and I would like to use for 1-2, 2-3
the tersoff parameters.

you cannot do this. for a manybody potential,
you need to have all permutations of the atom
types that are treated with tersoff represented.
you cannot just replace on pair of interactions
by something else, since the interaction triples
(1-2-3, 2-1-3, 1-3-2) are not consistent.

lammps requires 27 entries, all the permutations, however.
How to switch down 1-3 interaction for tersoff ?
Should I include in the potential file fake entries
for 1-3 in order to cheet the code ?

you will be cheating yourself.

pair_style hybrid tersoff lj/cut 5.
pair_coeff * * mix_ZnSiO Zn O Si
pair_coeff 1 3 lj/cut 1.0 1.0

ERROR: Potential file is missing an entry

that looks more like a misformatted file,
not necessarily that you left an entry out.

axel.

Dear Axel,

In certain specific cases it makes sense to allow crude
simplifications even in the many-body potential.
In my case, I would like to simulate a rigid body
impact. I would like to neglect the 3-body part of
rigid body ingredient-substrate interaction.
More specifically, I would simulate Si (tip)
impact on ZnO. The rigid tip interacts only
with a simple pair interaction with ZnO,
hence I would neglect Si-Zn-O triples. It is rather difficult to obtain adequate potentials
for systems with 3 ingredients (ZnSiO e.g.).
Hence, one has to find out some reasonable tricks,
especially, for trial simulations.

If I understood correctly, in lammps there is no
way to get rid of undesired interaction triples.

Peter Sule

2011/6/5 Süle Péter <[email protected]...>:

Dear Axel,

In certain specific cases it makes sense to allow crude
simplifications even in the many-body potential.
In my case, I would like to simulate a rigid body
impact. I would like to neglect the 3-body part of
rigid body ingredient-substrate interaction.
More specifically, I would simulate Si (tip)
impact on ZnO. The rigid tip interacts only
with a simple pair interaction with ZnO,
hence I would neglect Si-Zn-O triples. It is rather difficult to obtain
adequate potentials
for systems with 3 ingredients (ZnSiO e.g.).
Hence, one has to find out some reasonable tricks,
especially, for trial simulations.

the fact, that it is difficult to get the potential parameters
is _no_ justification for simply disabling what you don't have.
you still have inconsistent behavior! i would consider it
"cleaner" to use Tersoff _only_ on ZnO and a different
potential on Si (or none, since you want to keep the
Si tip rigid and then Si-Si interactions don't matter)
and then use a LJ potential (or something else)
for Si-Zn _and_ Si-O.

that is certainly a crude model, but i would consider it
superior to including Si-O, Si-Si-O, Si-O-Si,
O-O-Si, or O-Si-O tersoff terms, but not anything containing
Si and Zn and replacing that with only a Si-Zn LJ.
if you want to keep the Si tip rigid, the Si-X terms
are of rather little relevance anyway, since you
already make a huge approximation by not allowing
any wear on the tip.

If I understood correctly, in lammps there is no
way to get rid of undesired interaction triples.

you can always modify the source code, but i
repeat myself, you have to come up with a better
justification for your model than "i can't find the parameters".

axel.

To simplify your question, imagine you
have 2 chunks of atoms, each of them Si,
and you want them to interact within each
chunk via Tersoff, but LJ bewteen the 2 chunks.

Then you can have 2 flavors of Si atoms,
call them Si1 and Si2. And also make Si1
atoms in chunk1 be type 1, Ditto for type 2.
And make a Tersoff
file that has the usual Si interactions for Si1
and ditto ffor Si2. But set the Si1/Si2 coeffs
to 0 so they do not interact. Then your pair
hybrid command will set both atom types
to Tersoff = Si1 and Si2. And you can add
the lj/cut interaction between the 2 chunk,
as a 2nd hybrid sub-style..

Steve

2011/6/5 Süle Péter <[email protected]...>:

To simplify your question, imagine you
have 2 chunks of atoms, each of them Si,
and you want them to interact within each
chunk via Tersoff, but LJ bewteen the 2 chunks.

Then you can have 2 flavors of Si atoms,
call them Si1 and Si2. And also make Si1
atoms in chunk1 be type 1, Ditto for type 2.
And make a Tersoff
file that has the usual Si interactions for Si1
and ditto ffor Si2. But set the Si1/Si2 coeffs
to 0 so they do not interact. Then your pair

yes, that is what i was trying to express.
you have to remove _all_ mixed interactions
between the two chunks of atoms, not just
some and then replace those with LJ.

hybrid command will set both atom types
to Tersoff = Si1 and Si2. And you can add
the lj/cut interaction between the 2 chunk,
as a 2nd hybrid sub-style..

hmmm... wouldn't you have to use hybrid/overlay for that?

axel.

yes, hybrid/overlay to add the LJ on top
of the turned-off Tersoff

Steve