On adding a density and temperature dependent Yukawa force in LAMMPS

Dear LAMMPS developers,

I am trying to implement an electron model into LAMMPS.

This model is already in the ddcMD code of LLNL but this code is not open-source. My goal is to build this into LAMMPS.

The main features of this model called MOD-MD (as Multiscale Orbitial Free density functional theory- Molecular Dynamics) are as follows:

  1. Ions interact through a generalized Yukawa force F[ne,Te,Z*]. Here ne(r) is the electrons density, T_e(t) is their temperature and Z* is the average ionization.
  2. Electrons density is obtained from OFDFT, by basically solving a Poisson equation.
  3. Ionization state Z* is calculated with an average atom model.
  4. Electron temperature is obtained according to the heat diffusion equation. A technique similar to what the TTM fix does.

I am trying to build all these into the fix_ttm.cpp. However, I am not sure if this is the right way to do this in LAMMPS.

I would very much appreciate any suggestions and recommendations on how this could be done successfully in LAMMPS.

Best wishes,

Rahm

The components of the force field you describe sound different enough
I don’t think they would all match what fix ttm is doing.

  1. sounds like a pair style
  2. sounds like it could use parts of a KSpace style like
    PPPM which also solves a Poisson eq
  3. also sounds like an EAM-style calculation using
    neighboring atoms to infer a density at each atom,
    see pair eam
  4. this is like fix ttm

Steve

Steve,

Thank you for your response.

You’re right it is a pair style, therefore a fix would not work.

After looking at pair eam, I think it is very similar to the model we want to implement.

However, our ‘eam’ version depends also on the electron temperature. That’s why I thought of building all this into fix ttm.

So here is my new plan to do this. Please tell me if the procedure describes below makes sense to you (and if it is possible with LAMMPS)?

1- Call my pair ‘eam’: this potential needs (initial) electron temperature and local density obtained by solving a 1D Poisson equation (I don’t think we need pppm here).
2- Use fix ttm to determine electron temperature.
3- Then update pair ‘eam’ with the new electron temperature.

Best,

Abdou

Steve,

Thank you for your response.

You’re right it is a pair style, therefore a fix would not work.

After looking at pair eam, I think it is very similar to the model we want to implement.

However, our ‘eam’ version depends also on the electron temperature. That’s why I thought of building all this into fix ttm.

So here is my new plan to do this. Please tell me if the procedure describes below makes sense to you (and if it is possible with LAMMPS)?

1- Call my pair ‘eam’: this potential needs (initial) electron temperature and local density obtained by solving a 1D Poisson equation (I don’t think we need pppm here).

2- Use fix ttm to determine electron temperature.

3- Then update pair ‘eam’ with the new electron temperature.

Best,

Abdou

That could work.

Steve