Skip to content

Anharmonic Free Energy Update#172

Open
ejmeitz wants to merge 30 commits intotdep-developers:mainfrom
ejmeitz:ethan-afe
Open

Anharmonic Free Energy Update#172
ejmeitz wants to merge 30 commits intotdep-developers:mainfrom
ejmeitz:ethan-afe

Conversation

@ejmeitz
Copy link
Copy Markdown
Contributor

@ejmeitz ejmeitz commented Mar 20, 2026

This PR takes code from Alois's anharmonic_free_energy branch which already fixed some bugs in the existing anharmonic_free_energy and fixes all the remaining bugs to the best of my knowledge.

The code calculates the first and second cumulant contributions (for F, S, U and Cv) and assumes that you are using self-consistent phonons. The constant correction terms (i.e., $$V_0$$) from the paper cannot be calculated in TDEP as it requires interfacing with LAMMPS or some other energy calculator.

This should match exactly with my own implementation that I used to collect data for a paper which was compared to ground truth values from TI. I will verify and then mark the PR as ready for review.

Example Output:

# Temperature:          0.800000000000E+02
 # Harmonic contribution
    # Free energy [eV/at]  Internal energy [eV/at]             Entropy [kB]       Heat capacity [kB]
          -0.002161720125           0.020681592720           3.313571612390           3.000000000000
 # First Cumulant Contribution
    # Free energy [eV/at]  Internal energy [eV/at]             Entropy [kB]       Heat capacity [kB]
           0.000055701287          -0.000055701287          -0.016159670355          -0.016159670355
 # Second Cumulant Contribution
    # Free energy [eV/at]  Internal energy [eV/at]             Entropy [kB]       Heat capacity [kB]
          -0.000787906127           0.000787906127           0.228581851748           0.228581851748

@ejmeitz ejmeitz marked this pull request as ready for review March 30, 2026 19:10
@ejmeitz
Copy link
Copy Markdown
Contributor Author

ejmeitz commented Mar 30, 2026

@mjv500 @OrbitalC this is good to go. Just had some issues getting reference data for the tests. It seems the floating point error from using MPI or not when doing the sums matters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants