Skip to content

Allowing for the use of Dammak's quantum thermal bath in the MD phase #247

Description

@RiemannSpace

Dear Calphy developers,

first of all, thank you very much for creating and maintaining this project! I have been using it for a short while to test some interatomic potentials for crystalline solids for my PhD and have been quite happy with the results. However, I always come up with the same issue when my computations go into the low-temperature regime, and it's the classical problem of a nonvanishing heat capacity below the Debye temperature. Being that this is a phenomenon which is intrinsically tied to the nature of MD simulations, I am not aware of a way to overcome it with the classical tools which are already implemented in Calphy (if I am missing something, please tell me!). In trying to solve this issue, I came across this 2009 paper by Dammak et. al., where they propose and test a so-called "quantum thermal bath", which simulates quantum effects at low temperatures and should, in principle, produce vanishing heat capacities as T goes to 0. Thankfully, a LAMMPS implementation of this heat bath already exists, so implementing it from scratch isn't necessary.

My question, then, is if it would be possible to implement Dammak’s heat bath into Calphy as part of the MD phase of the free energy computation, in an effort to be able to capture the low-T dynamics of crystal lattices. The inclusion of Dammak’s bath would imply the following two additions to Calphy:

  • The further implementation of NVE and NPH baths: As can be seen from both the publication and its LAMMPS implementation, Dammak’s bath couples only to the dynamics of the system, thus only fixing its temperature. Therefore, it demands either of the two aforementioned baths to fix the rest of the parameters and to be able to perform the time integration along the switching path.
  • The possibility to choose Dammak’s bath inside of the input.yaml file: This could be done either by a dedicated option inside the input file, like the npt option, or by being able to write a custom LAMMPS template. I tried using Dammak’s bath through the init_commands option, but I've gotten the impression that that is not the intended purpose of this option.

Given that this modification would mean the addition of a bath which is already implemented in LAMMPS, I hope that this won't be much of a hassle to implement. I would offer myself to do it, but I am neither familiar with the underlying code, nor do I consider myself a skilled developer. If this is indeed a small modification, someone who knows exaclty what to do would be much better off attempting it. If this Dammak bath were indeed able to capture the low-T behavior of the free energy, then it would be a great way of rounding off this already very nice package.

I would love to hear your thoughts about this :)
All the best,
David

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions