Open bernstei opened 2 years ago
I think the issue happens with ExpCellFilter
, which by default passes force_consistent=True
to get_potential_energy()
, and that triggers a calculate for the free_energy
property.
Sorry, @davkovacs I'll need to leave this with you for now. But once you've identified exactly what we need at the Julia / JuLIP.jl / ACE.jl end I can help.
I see, so basically free energy should return the same as energy in our case? I saw it being implemented and returning simply the potential energy in other ASE calculators and never understood it. I will add it to the calculator.
@bernstei I believe it should be working now. Please let me know if it isn't, otherwise we can close this issue.
Looks good now.
I take this back. I think you need if 'energy' in properties or 'free_energy' in properties:
in ACECalculator.calculate()
.
Can you please check if it works now on the latest commit, main branch?
Yes, now it's identical to my locally patched version, which seems to work in every case I've tried so far.
At least some operations of the testing framework (https://github.com/libAtoms/testing-framework) lead to an error with the
free_energy
property, e.g.I think potentials need to implement that property (which is really meant to be the version of the energy that's consistent with derivatives such as forces, originally for ASE DFT calculators) as being identical to the internal energy