OMP package in the lammps-22Feb13 version problem

Dear all,

I have problems with using the OMP package in the lammps-22Feb13 version.
I compiled the code with a Makefile that worked well for the lammps-14Feb13 version
including the OMP package.

The beginning of my LAMMPS input script looks like this:

  echo both
  units real
  atom_style full

  atom_style full
  bond_style harmonic
  angle_style harmonic
  dihedral_style opls

  package omp 4 force/neigh

  read_restart e0.rs

  thermo_style custom step etotal press fnorm fmax
  ...

I get the following output on the screen:

  LAMMPS (22 Feb 2013)
      using 4 OpenMP thread(s) per MPI task
  units real
  atom_style full

  atom_style full
  bond_style harmonic
  angle_style harmonic
  dihedral_style opls

  package omp 4 force/neigh

The code then stops (there is no additional output on the
screen for several minutes).

Has anyone encountered similar problems?

Best,

Rolf

Dear all,

I have problems with using the OMP package in the lammps-22Feb13 version.

[...]

I get the following output on the screen:

        LAMMPS (22 Feb 2013)
                using 4 OpenMP thread(s) per MPI task
        units real
        atom_style full

        atom_style full
        bond_style harmonic
        angle_style harmonic
        dihedral_style opls

        package omp 4 force/neigh

The code then stops (there is no additional output on the
screen for several minutes).

Has anyone encountered similar problems?

this is due to a stupid bug that was introduced in the latest patch to
the USER-OMP code when trying to refactor the argument handling of the
package omp command to for future changes in the code.

here is a patch. you can also leave out the force/neigh flag. it is
the default anyway.
diff --git a/src/USER-OMP/fix_omp.cpp b/src/USER-OMP/fix_omp.cpp
index bac0017..e160660 100644
--- a/src/USER-OMP/fix_omp.cpp
+++ b/src/USER-OMP/fix_omp.cpp
@@ -108,6 +108,7 @@ FixOMP::FixOMP(LAMMPS *lmp, int narg, char **arg)
       _mixed = false;
     else
       error->all(FLERR,"Illegal package omp mode requested");
+ ++iarg;
   }

   // print summary of settings

at the current state of affairs, the package omp command is rarely
needed. it will automatically be inserted when you use -sf omp or
-suffix omp with the number of threads defaulting to the value of the
OMP_NUM_THREADS environment variable.

axel.