[lammps-users] Hybrid command - mixed system with water and one organic molecule

Dear Lammps Users, I am trying to simulate a system composed by water and an organic molecule. This in my program should be a toy (not a toy for me at present…) system to approach a complex one once I will be comfortable with Lammps syntax. Atom types are 5 for the organic molecule and 2 for water tip4p. Bond types are 6 + 1, Angle types are 7 + 1.

I am getting the message: “ERROR All pair coeffs are not set”.

I am going around in circles but I am unable to find a way out.

Any suggestion will be really welcome

Paolo Botto

Herebelow the script up to the pair coeffs lines:


boundary p p p
units real
atom_style full
pair_style hybrid lj/cut/coul/long 12.0 14.0 lj/cut/tip4p/long 6 7 7 8 0.1546 12.0 14.0
angle_style harmonic
bond_style harmonic
dihedral_style opls
improper_style cvff
atom_modify map array
pair_modify table 0
kspace_style pppm/tip4p 0.00001

read_data water-10-PMA-04.data

pair_coeff 1 1 lj/cut/coul/long 0.210000 2.960000
pair_coeff 2 2 lj/cut/coul/long 0.070000 3.550000
pair_coeff 3 3 lj/cut/coul/long 0.170000 3.120000
pair_coeff 4 4 lj/cut/coul/long 0.000000 0.000000
pair_coeff 5 5 lj/cut/coul/long 0.030000 2.420000
pair_coeff 6 6 lj/cut/tip4p/long 0.185200 3.158900
pair_coeff 6 7 lj/cut/tip4p/long 0.000000 0.000000
pair_coeff 7 7 lj/cut/tip4p/long 0.000000 0.000000

the immediate error is because you don’t specify how mixed interactions are to be computed.
automatic mixing can only be applied for atom type ranges within the same pair style. so you are missing some.
this can be easily debugged using the “info coeffs” command.

there is no need to use a hybrid pair style here in the first place, pair style lj/cut/tip4p/long behaves like lj/cut/coul/long for all atoms that are not the tip4p water.
in fact, if you would apply lj/cut/coul/long to all interactions but the water-water interactions, you would model the coulomb interactions incorrectly.
thus if you do have some tip4p water present, all coulomb interactions must be handled with a tip4p pair style variant.

reverting to only using pair style lj/cut/tip4p/long should resolve the error message since then mixing of coeff parameters will be applied for all pairs.
of course you need to confirm that those are actually desired. if you would mix and match force fields, then the interaction with water may be inconsistent and thus inducing an error into your simulations.


Dear Axel, great!!!

I did some tests and everything went fine. Thanks to your explanations I am now in the position to advence in my project.

I am in debt to you: I will send you an easter egg by april, or you may prefer a turkey by Thanksgiving next year?

I have one additional question: I tried to find the same information you mailed me in the User guid, with no success: where I could have found it, without bothering you?

Hope everything ok for you and your family


please don’t get carried away. so far you only overcame obstacles that are easy to resolve.
there are a whole lot of problems that are binary success or failure but where you can have subtle issues.
it is possible to have an MD simulation that does not produce errors and even looks reasonable when being visualized and still it can be completely bogus.

everything I mentioned to you is documented, you have not yet learned how to read the documentation properly.
…and for the issues that are a bit more indirect and that cause problems for less experienced people, you can search the mailing list archives.
since you are not the first person with limited LAMMPS experience, you are likely not the first person to ask questions like you did.
the mailing list is usually a pretty good resource for that kind of information. it will get shakier (and off-topic) once you come to issues that are less technical but more related to statistical mechanics and MD simulation best practices. for those you will have to consult with somebody local, as that kind of knowledge is best transferred in person.


Dear Lammps users,

in the final phases of my project, I will need to run an atomistic simulation involving several thousands molecules ( 20 k to 40 k atoms in total).

My old PC (intel I7-3730 3.40 GH, 4 cores), running in parallel, is considerably slow already with about 1,000 molecules with a “toy” model composed of much simpler molecules.

I am planning to move to a more powerful machine and I am in trouble in defining a proper balance between number of cores of the processor and the power of the GPU.

So far I devised the following:

  • Processor AMD Ryzen Threadripper 3970X , 32 core, 3.7 GH
  • GPU PNY QUADRO P2200 5 GB GDDR5, 1280 CUDA core – 4 DP

This, together with all other bits and pieces, is pretty much what my budget can afford. I could improve the GPU to the detriment of the processor or vice versa, providing I could understand the best direction, or stop here.

Any comment from more competent (and patient) people would be really welcome.

Paolo Botto

first off three general considerations.

  • your hardware requirements and system size are quite moderate. have you considered using an HPC cluster. with rather small systems running on few compute nodes, you may be able to harvest a significant amount of “free” compute cycles often requiring just asking for access and explaining what you need. usage of HPC clusters is often dominated by large parallel jobs, so you may be able to slip through the cracks and get jobs running in the “holes” left by those bigger jobs.
  • before considering a GPU, I would do careful testing with representative inputs. to make good use of GPUs requires more technical knowledge than with CPUs and your setup needs to have good GPU support in the LAMMPS features you use. e.g. even when running on a CPU you can “kill” the performance by using features of LAMMPS inefficiently or do analysis calculations needlessly frequent. see the other response on that topic I sent out earlier today. with a GPU this is enhanced. in general, one or more GPUs are most useful if you want to add performance to a workstation after having exhausted other options, in high throughput situations where you know that your calculations are very efficient on GPUs, or for high-end capability calculations, where there is not much of an alternative.
  • in a desktop configuration for production computations, I would always focus first on reliability (which means power supply, memory modules, mainboard, cooling, location of the machine, quality of the case), then on CPU performance (keeping in mind that when you are on a budget, you need to stay away from extremes as pushing to the limits will have steep price increases) and view the GPU as a bonus, but not as an essential component. pick something that gives you a good performance for visualization. if you can afford to upgrade it to be good for computation, then you can look into it.

the GPU you have spec’d is of a rather old generation (Pascal) and doesn’t have much compute performance to boot. it would be very unbalanced in comparison with your rather powerful CPU. also, the money spent on a “quadro” level GPU would be wasted, as you are not likely to make use of the additional features those offer. they certainly don’t help with GPU acceleration. you should get better graphics (and compute) when investing the same amount of money into a GeForce RTX 20xx series GPU, especially now that the next generation consumer GPUs has come out, the older generation hardware will be discounted until they are (mostly) gone.


Dear Axel thanks a lot for your suggestions. I will explore the HPC cluster option. I will revise the PC specs too.

All the best for you and yor family.