NaCl water solution

Dear Lammps users,
I want to build a data file for NaCl-water solution.
Is there any tool I could make use to build the data file for any specific solvate molar percent?
Thanks and best regards,
Fahim
P.S. I am sorry if my question is not directly related to Lammps, but I assumed there may be some experience for this. Thanks.

Hi
There are several tools to build data files for lammps. For example you can do it by “Moltemplate”. Please see the examples of:

https://www.moltemplate.org/

With best regards

Alireza Shadloo

PhD Candidate in Mechanical Engineering

Shiraz University of Thechnology.

Alirezashadloo@…16…

Dear Lammps users,
I want to build a data file for NaCl-water solution.
Is there any tool I could make use to build the data file for any specific solvate molar percent?

it is usually easiest to take an equilibrated water restart and
replace water molecules with ions (put the ion in the place of the
oxygen and remove the hydrogens).
achieving a specific molar percentage is limited by the size of the
system and that only certain ratios are possible.

axel.

(Cool. Thanks Alireza)

The example Alireza is referring to is here (although it doesn't do
exactly what you asked for):
http://moltemplate.org/visual_examples.html#waterSPCE+Na+Cl

In that example, both the water molecules and the ions both have to
lie on a regularly spaced lattice. You have control over the spacing
and angles of the lattice and the number of copies of the unit cell.
But this doesn't give you a really fine degree of control of exactly
how many ions are in your system.

Instead, I suggest 2 different ways of building the same system:

---- 1) Use the "new random" command ----

Take the same example above and modify the "system.lt" file, replacing
the "wat = new SPCE...", and the "na = new NaIon..." andthe "cl =
new ClIon..." commands with a single command:

solvent = new random([SPCE, NaIon, ClIon], [972,14,14], 1)
                [10].move(0.00, 0.00, 3.45)
                [10].move(0.00, 3.45, 0.00)
                [10].move(3.45, 0.00, 0.00)

This will arrange 972 SPCE waters, and 14 sodium and chloride ions
randomly in a rectangular 10x10x10 lattice with 3.45 Angstrom spacing.
This effectively accomplishes what Axel suggested, replacing some of
the water molecules with sodium or chloride ions. (And, incidentally,
it places them where the oxygen atoms would have been.)

Incidentally, the "new random" command is explained in sections 7.8
and 7.9 (pp. 38-39) of the moltemplate manual:
http://moltemplate.org/doc/

---- 2) Use PACKMOL ----

Instead of placing the molecules on a lattice, you can use external
tools to create the geometry of your system. These tools can mix an
arbitrary number of water molecules and ions together. Once you have
an .XYZ or .PDB (or a simple 3-column ascii file) containing the
coordinates of these molecules in their desired positions, you can use
moltemplate to build the other files LAMMPS needs (lammps input
script, data file). There are several moltemplate examples which use
this approach below.

(These examples use PACKMOL. These examples include both packmol and
moltemplate usage instructions)

a) https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene%2Bbenzene_PACKMOL
image:
https://raw.githubusercontent.com/jewettaij/moltemplate/master/examples/all_atom/force_field_OPLSAA/ethylene%2Bbenzene_PACKMOL/images/ethylene%2Bbenzene_box80x80x80_LR.jpg

b)
http://moltemplate.org/visual_examples.html#martini_DPPC_bilayer

c)
http://moltemplate.org/visual_examples.html#vesicle_Brannigan2005+Bellesia2010

I hope this helps.

Andrew
P.S.
Note: If you don't the SPC/E water model, there are several other
water models you can choose from in the moltemplate/force_fields/
directory distributed on github:
https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields

Dear Andrew,

Thank you so much. The explanations were great and so much useful.
Also, thanks Axel.

Best regards,
Fahim