Electrostatics in MBX and Technical Details

92 views
Skip to first unread message

Siyuan Nie

unread,
Nov 10, 2024, 2:01:21 AM11/10/24
to MBX-users

Dear MBX Development Team,

 

Thank you so much for your remarkable work and generosity in sharing these invaluable tools!

 

I have read the relevant papers, but there are still a couple of details I would like to confirm with you.

 

(1)  Induced Dipole Calculations:

Based on https://doi.org/10.1021/ct400863t, and the related article about TTM4, http://dx.doi.org/10.1063/1.2895750, MBX calculates the induced particle dipole using the equation:

U_induced(E, R) = α(R) * E

where:

α(R) is the atomic polarizability at position R, with values for α_H = 0.294 ų (for hydrogen) and α_O = 1.31 ų (for oxygen).

E represents the electric field at position R, created by both point charges (intermolecular) and inducible point dipoles (intra- and intermolecular).

The stable induced dipole moments are obtained through an iterative process involving the induced dipoles and the electric field.

 

(2)  Point Charges Used in MBX-LAMMPS calculation:

According to https://doi.org/10.1021/ct400863t, the point charges on hydrogen atoms and the M site are geometry-dependent, derived from the ab initio dipole moment surface calculated by Partridge and Schwenke.

However, in the plugins/lammps/example directory, I noticed that charges are assigned to each atom in the initial.data file, and the dump.lammpstrj file indicates that these charges remain constant during the simulation.

Referring to https://doi.org/10.1063/5.0156036, it states: "For each 1-mer type defined in an MB-nrg PEF, the parameters defining all relevant atomic quantities (e.g., charges, polarizabilities, and dispersion coefficients) are automatically compiled into MBX."

From this, I think MBX only receives atomic coordinate information from initial.data, and other atomic quantities (such as charges) are ignored because they will be automatically calculated based on geometry in MBX (or be fixed, depending on the charge used to train the MB potentials). Therefore, the charge information in initial.data does not affect MBX calculations.

 

Could you please confirm if my understanding of the electrostatics term V_elec is correct?

 

In addition to these computational details, I also have some technical questions regarding MBX and MB-SPEC:

 

(1)  Usage of MBX with LAMMPS:

s   When integrating MBX with LAMMPS, I noticed there are no input NRG files. Is this because the initial.data file already provides the necessary coordinate information?

s   Since the initial.data file specifies the simulation box size, can the ‘box’ parameter in the JSON configuration file be left empty ([])? I noticed your example does it this way.

(2)  Units and Parameters in POSITION_CMD and spectrum-raman:

s   Based on Richa's guidance (Thanks again), I wrote a script to convert the dump.lammpstrj file into the POSITION_CMD format (attached). I would like to confirm the units used in the POSITION_CMD file:

Does it use the 'real' unit system with time in femtoseconds (fs) and distance in angstroms (Å)?

s   For the spectrum-raman function, which requires the input parameters ‘T volume tau alpha max_int’, could you please clarify the units and meanings of these parameters?

T: Temperature in Kelvin (K)?

volume: Simulation box volume in cubic angstroms (ų)?

tau: Exponential decay constant in picoseconds (ps)?

alpha: Gaussian decay parameter in inverse picoseconds (ps⁻¹))?

max_int: Maximum integration time in picoseconds (ps)

 

Thank you once again for your outstanding work!

 

Warm regards,

Siyuan Nie

Philip Zhu

unread,
Nov 10, 2024, 6:24:10 PM11/10/24
to MBX-users
Hi Siyuan,

Yes, the stable induced dipole moments are obtained through an iterative process involving the induced dipoles and the electric field; the charge information in initial.data does not affect MBX calculations.

>> When integrating MBX with LAMMPS, I noticed there are no input NRG files. 
Yes. The initial.data together with "fix mbx" in lammps.in provides enough molecule information.

>> Since the initial.data file specifies the simulation box size, can the ‘box’ parameter in the JSON configuration file be left empty ([])?
That's correct.

I will leave the question about MB-SPEC to Richa or others.

Siyuan Nie

unread,
Nov 11, 2024, 1:05:40 PM11/11/24
to MBX-users

Hi Philip,

 

Thank you so much for your reply! They are quite useful!

 

I've been working through some cases recently, and I've noticed a discrepancy between the README file and the examples provided in LAMMPS.

 

In README file, the variables are defined as follows:

variable        ebuck equal c_mbx[5]

variable        edisp equal c_mbx[6]

While in the example with 256 water molecules, they are defined as:

variable        edisp     equal c_mbx[5]

variable        ebuck     equal c_mbx[6]

I checked my output data and find ‘c_mbx[6]’ consistently returns zero, so the second definition might be correct?

 

(A small question out of curiosity, does the output dispersion energy include the combination of V_disp_1B, V_disp_2B and the long-range contribution calculated in reciprocal space, or is it just the long-range contribution? Do the one- (e1), two- (e2) energies include both V_ML term and V_disp term or are they limited to the V_ML term?)

 

Thank you again for your generous help. Looking forward to your insights on the MB-SPEC unit!

 

Best wishes,

Siyuan

Richa Rashmi

unread,
Nov 11, 2024, 2:11:46 PM11/11/24
to MBX-users
Dear Siyuan,

Thank you for your interest in MB-SPEC. Please find below the responses to your questions:

1. The POSITION_CMD file uses distances in angstroms and time in picoseconds. These units are applied in conversions within the spectrum_raman.cpp file.
2. For spectrum_raman.cpp, the units and meanings you mentioned are correct. The parameter \alpha serves as a smoothing factor, I generally use \alpha=2. Adjusting \tau can affect the baseline of the spectra, with \tau=0 being suitable in most cases.

Please feel free to reach out if you have further questions.

Best regards,
The MBX Team

Philip Zhu

unread,
Nov 11, 2024, 4:12:11 PM11/11/24
to MBX-users
Dear Siyuan,

Thanks for bringing the discrepancy to our attention. You are correct, the second definition is correct. We will update the README in our next release.

I believe the dispersion does not have 1-b. It should be 2-b short+long(PME) range.

The one- (e1), two- (e2) energies only include V_ML term.

Henry Agnew

unread,
Nov 12, 2024, 3:41:20 PM11/12/24
to MBX-users
Dear Siyuan,
        Thank you for bringing to our attention that the LAMMPS plugin README was out-of-date. I have updated our internal development branch with the corrected variable names so that it matches the examples. These changes will be part of the the next public release of MBX.

PR ref #169

Siyuan Nie

unread,
Nov 13, 2024, 2:09:41 PM11/13/24
to MBX-users

Hi Richa, Philip, and Henry,

 

Thank you so much for your detailed responses and ongoing support!

 

Looking forward to your next release!

 

Cheers,

Siyuan

Reply all
Reply to author
Forward
0 new messages