James Kermode

Results 26 comments of James Kermode

+1 for MicroLogging, from a quick look

Sounds good. `minimise!()` is a bit more difficult as it modifies the atoms object in place, so copying the input won't work - do you have an idea for that?

I suppose this would work: ```julia function minimise!(at::ASEAtoms, ...) jat = JuLIP.Atoms(at) minimise!(jat, ...) set_dofs!(at, dofs(jat)) end function ```

We have this in Python already :-)

https://gitlab.com/ase/ase/merge_requests/950

Essentially we use `spglib` to find the symmetry group and project out contributions to force and stress that depart from symmetry.

Yes - atomic positions may be symmetry-constrained for multilattices

Maybe this is a good example of a special-case that should be coded once, and this provides an opportunity to improve `JuLIP ASE` convenience bindings

It's currently implemented by wrapping the Calculator, but I've agreed to try to turn it into an ASE constraint. Could we add an `ASEConstraint` wrapper to JuLIP that calls `adjust_forces()`...

That's fair. In the ASE implementation we just project back on to the constraint manifold after each step and it seems to work (most of the time), even with the...