Enhance the LAMMPS API to make it possible to register a custom pair after loading the libraries
Benefits:
pair_python seems to only support one Python potential at a time? We could potential support many Julia potentials
Potential for better integration with LAMMPS.jl
Maybe lower overheads
Downsides:
Users need to use LAMMPS.jl
Unproven path
From a cursory research for #2 it seems that we would need to expose a custom Pair class that takes raw function pointers and forwards the method implementations and then register that with PairCreatorMap which is a map from string to PairCreator which is a typedef Pair *(*PairCreator)(LAMMPS *).
@dallasfoster asked for this on Slack.
Two avenues that I see immediatly
pair_python
pair_python
seems to only support one Python potential at a time? We could potential support many Julia potentialsLAMMPS.jl
From a cursory research for #2 it seems that we would need to expose a
custom
Pair class that takes raw function pointers and forwards the method implementations and then register that withPairCreatorMap
which is a map fromstring
toPairCreator
which is atypedef Pair *(*PairCreator)(LAMMPS *)
.cc: @rohskopf