Pd3 Cluster in OPC Water
This post documents the Pd3-water simulation stored in:
1
/Users/alokranjan/Downloads/simulations/pd3_water
The system contains one Pd3 cluster solvated by OPC water in a periodic cubic box. The workflow is:
- Define molecular templates and force-field parameters.
- Pack one Pd3 cluster and 7205 OPC water molecules with Packmol.
- Convert the packed structure into a LAMMPS data file.
- Minimize the structure.
- Thermally equilibrate the minimized system.
- Run the NVT production stage.
The LAMMPS inputs use units real, atom_style full, periodic boundaries, PPPM electrostatics, and the KISS FFT backend. This removes the need for FFTW while keeping long-range electrostatics enabled through kspace_style pppm.
System summary
- Box size:
60.0 x 60.0 x 60.0 A - Boundary condition: periodic in
x,y, andz - Solvent:
7205OPC water molecules - Metal cluster: one Pd3 cluster
- Total atoms:
21618 - Water atoms:
21615 - Palladium atoms:
3 - Main nonbonded style:
lj/cut/coul/long 12.0 - Long-range solver:
pppm 1.0e-5 - FFT backend reported in the logs: double precision KISS FFT
Folder layout
1
2
3
4
5
6
7
8
9
10
11
12
13
pd3_water/
field.xml
opc.ff
opc.zmat
opc_pack.xyz
pack.inp
pd3.ff
pd3.zmat
pd3_pack.xyz
simbox.xyz
minimization/
npt_eqilibration/
nvt_prod/
The folder name npt_eqilibration is kept as it appears on disk. The input file inside that folder performs an NVT thermal equilibration, not an NPT run, because it uses fix nvt and does not define a barostat.
Molecular definitions
Pd3 geometry
The Pd3 cluster geometry is defined in pd3.zmat:
1
2
3
4
5
6
7
pd3
1 Pd1
2 Pd2 1 2.9440
3 Pd3 1 2.7476 2 57.61
connect 2 3
This defines a triangular Pd3 cluster with three Pd atom labels. The explicit connect 2 3 line closes the triangle by bonding Pd2 and Pd3.
The corresponding force field is stored in pd3.ff. All three Pd atoms use the same mass and Lennard-Jones parameters:
1
2
3
Pd mass = 106.419998
Pd sigma = 2.744 A
Pd epsilon = 62.76 kJ/mol
The Pd-Pd bonds and Pd-Pd-Pd angles are harmonic. During the LAMMPS stages the Pd atoms are also grouped as palladium and constrained with:
fix cluster_rigid palladium rigid single
This treats the metal cluster as one rigid body during minimization, equilibration, and production.
OPC water
The OPC water template is defined in opc.zmat:
1
2
3
4
5
OPC
Ow
Hw 1 0.8724
Hw 1 0.8724 2 103.6
The opc.ff file assigns the OPC charges and Lennard-Jones parameters:
1
2
3
4
Ow charge = -1.3582
Hw charge = 0.6791
Ow sigma = 3.16655 A
Ow epsilon = 0.89036 kJ/mol
Hydrogen atoms have no Lennard-Jones interaction. The O-H bond length is 0.8724 A, and the H-O-H angle is 103.6 degrees. In the MD input files, water geometry is constrained with fix shake.
OpenMM-style field file
field.xml is the combined force-field description generated from the molecular templates. It contains:
- atom types for OPC oxygen and hydrogen
- atom types for Pd1, Pd2, and Pd3
- residue definitions for
OPCandpd3 - harmonic bond and angle definitions
- nonbonded charges and Lennard-Jones parameters
- an Ow-Pd NBFix cross interaction
This file is useful as a structured force-field record and as an intermediate for tools that can translate the system into LAMMPS-compatible data.
Packing the simulation box
The packing is controlled by pack.inp.
1
2
3
tolerance 2.0
filetype xyz
output simbox.xyz
The Pd3 cluster is centered at (30.0, 30.0, 30.0):
1
2
3
4
5
structure pd3_pack.xyz
number 1
center
fixed 30.0 30.0 30.0 0.0 0.0 0.0
end structure
The OPC water molecules are inserted into a padded cubic region:
1
2
3
4
5
structure opc_pack.xyz
number 7205
inside box 1.5 1.5 1.5 58.5 58.5 58.5
outside sphere 30.0 30.0 30.0 5.5
end structure
This creates a 60 A simulation box with a 1.5 A buffer near the periodic box edges. The outside sphere command excludes water from a 5.5 A sphere around the centered Pd3 cluster, preventing the initial solvent coordinates from overlapping the metal cluster.
The packed coordinate file is simbox.xyz. It contains 21618 atoms, plus the two standard XYZ header lines.
LAMMPS data file
The first LAMMPS data file is:
1
minimization/initial.data.lmp
It contains:
21618 atoms14413 bonds7208 angles5 atom types4 bond types4 angle types- box limits from
0.0to60.0 Ain all three directions
The atom types are:
1
2
3
4
5
1 Ow
2 Hw
3 Pd1
4 Pd2
5 Pd3
This data file is the structural input to the minimization stage.
Stage 1: Minimization
The minimization input is:
1
minimization/in.minimization
Main settings:
units real
boundary p p p
atom_style full
bond_style harmonic
angle_style harmonic
read_data initial.data.lmp
pair_style lj/cut/coul/long 12.0
kspace_style pppm 1.0e-5
min_style cg
minimize 1.0e-4 1.0e-6 1000 5000
The water atoms are grouped as water, and Pd atoms are grouped as palladium. The Pd3 cluster is held as one rigid body:
group water type 1 2
group palladium type 3 4 5
fix cluster_rigid palladium rigid single
The minimization output files are:
minimized_progress.dcdminimized_final.dataminimized_final.restartminimized_final.xyzlog.lammps
The minimization log reports successful convergence by energy tolerance. The potential energy changes from about 146999.42 to -235868.59 kcal/mol, and the maximum force component decreases from about 3205.11 to 33.68. The log also confirms PPPM with a 50 x 50 x 50 grid and double precision KISS FFT.
Stage 2: Thermal equilibration
The equilibration input is:
1
npt_eqilibration/in.equilibration
Although the folder name contains npt, the script itself applies an NVT thermostat:
read_restart ../minimization/minimized_final.restart
kspace_style pppm 1.0e-5
group water type 1 2
group palladium type 3 4 5
fix cluster_rigid palladium rigid single
velocity water create 298.0 123456 dist gaussian
fix integrate_water water nvt temp 298.0 298.0 100.0
fix water_shake water shake 0.0001 20 0 m 15.999 1.008
timestep 1.0
This stage restarts from the minimized binary restart file, recreates the groups, reinitializes PPPM, constrains the water geometry with SHAKE, and thermostats the water at 298 K.
The current script runs only one timestep:
run 1
# run 4000000
The commented 4000000 step command corresponds to about 4 ns with the 1 fs timestep. Keeping it commented is useful for testing that the setup, restart reading, PPPM initialization, and output writing all work before running a long equilibration.
The equilibration output files are:
production_progress.dcdequilibrated_final.dataequilibrated_final.restartequilibrated_final.xyzlog.lammps
The log confirms that the stage completed and used the KISS FFT PPPM path.
Stage 3: NVT production
The production input is:
1
nvt_prod/in.prod
It restarts from the equilibration checkpoint:
read_restart ../npt_eqilibration/equilibrated_final.restart
kspace_style pppm 1.0e-5
group water type 1 2
group palladium type 3 4 5
The water molecules are constrained with SHAKE, the Pd3 cluster remains rigid, and the water phase is integrated with an NVT thermostat:
fix cluster_rigid palladium rigid single
fix water_shake water shake 0.0001 20 0 m 15.999 1.008
fix integrate_nvt water nvt temp 298.0 298.0 100.0
The file contains an earlier SHAKE line using bond and angle type IDs:
fix water_shake water shake 0.0001 20 0 b 1 a 1
It is followed by a mass-based SHAKE command with the same fix ID. The mass-based form is the intended robust definition in this script because it matches water by the oxygen and hydrogen masses.
The current production run is also a one-step validation run:
run 1
#run 4000000
The production output files are:
nvt_production.dcdnvt_production_final.datanvt_production_final.restartequilibrated_final.dataequilibrated_final.restartequilibrated_final.xyzlog.lammps
The nvt_production_final.* files are the production-stage final outputs. The extra equilibrated_final.* files are produced by a post-processing export block at the end of in.prod.
File-by-file reference
Root files
opc_pack.xyz- Single OPC water coordinate template used by Packmol.
pd3_pack.xyz- Single Pd3 coordinate template used by Packmol.
simbox.xyz- Packed coordinate file containing the Pd3 cluster plus 7205 OPC water molecules.
opc.zmat- Z-matrix definition of the OPC water molecule.
pd3.zmat- Z-matrix definition of the Pd3 cluster.
opc.ff- OPC force-field file with atom masses, charges, Lennard-Jones parameters, bond constraints, and angle constraints.
pd3.ff- Pd3 force-field file with Pd atom parameters, harmonic Pd-Pd bonds, and harmonic Pd-Pd-Pd angles.
field.xml- Combined structured force-field file containing the OPC and Pd3 model definitions.
pack.inp- Packmol input that creates the solvated Pd3-water coordinate file.
Minimization files
minimization/initial.data.lmp- Initial LAMMPS data file with atoms, bonds, angles, masses, force-field coefficients, charges, and coordinates.
minimization/initial.pdb- PDB-format copy of the starting structure for visualization and inspection.
minimization/in.minimization- LAMMPS input for conjugate-gradient minimization.
minimization/minimized_progress.dcd- Trajectory written during minimization.
minimization/minimized_final.data- Human-readable minimized LAMMPS data file.
minimization/minimized_final.restart- Binary restart checkpoint used by the equilibration stage.
minimization/minimized_final.xyz- XYZ-format minimized structure for quick visualization.
minimization/log.lammps- LAMMPS log for the minimization run, including convergence information, neighbor statistics, PPPM setup, and timing.
Equilibration files
npt_eqilibration/in.equilibration- LAMMPS input for restart-based NVT thermal equilibration.
npt_eqilibration/production_progress.dcd- DCD trajectory written during the equilibration run.
npt_eqilibration/equilibrated_final.data- Human-readable final data file from equilibration.
npt_eqilibration/equilibrated_final.restart- Binary restart checkpoint used by the production stage.
npt_eqilibration/equilibrated_final.xyz- XYZ-format final equilibration structure.
npt_eqilibration/log.lammps- LAMMPS log for the equilibration run.
Production files
nvt_prod/in.prod- LAMMPS input for the NVT production stage.
nvt_prod/nvt_production.dcd- DCD trajectory written during production.
nvt_prod/nvt_production_final.data- Human-readable final data file from the production stage.
nvt_prod/nvt_production_final.restart- Binary final production restart checkpoint.
nvt_prod/equilibrated_final.data- Additional data file written by the final export block in the production input.
nvt_prod/equilibrated_final.restart- Additional restart file written by the final export block in the production input.
nvt_prod/equilibrated_final.xyz- Additional XYZ structure written by the final export block in the production input.
nvt_prod/log.lammps- LAMMPS log for the production validation run.
Practical notes
The three simulation stages are currently configured as short validation runs. Both equilibration and production use run 1, while the intended longer run 4000000 commands are present but commented. This is a good way to test restart continuity, KISS FFT PPPM setup, SHAKE constraints, rigid Pd handling, and output writing before launching a full multi-nanosecond calculation.
For a full run, the usual order is:
1
2
3
4
5
6
7
8
cd minimization
lmp -in in.minimization
cd ../npt_eqilibration
lmp -in in.equilibration
cd ../nvt_prod
lmp -in in.prod
After increasing the timestep count, the DCD files are the main trajectory files for analysis, the .restart files are the safest continuation checkpoints, and the .data or .xyz files are convenient for inspection and conversion.