Closed sakibmatin closed 1 year ago
What things are needed to move this from WIP to ready?
This PR can be merged.
The LocalDampingCosine(...)
is called as a specific type of screening with in the physics.ScreenedCoulombEnergyNode(...)
as follows:
coulomb_energy = physics.ScreenedCoulombEnergyNode(
"cEnergy",
# _input_names = "charges", "pair_dist", "pair_first", "pair_second", "mol_index", "n_molecules"
(atom_charges,
pairfinder.pair_dist, pairfinder.pair_first, pairfinder.pair_second,
padidxer.mol_index, padidxer.n_molecules),
energy_conversion=energy_conv,
screening=LocalDampingCosine(alpha=alpha),
cutoff_distance=coulomb_r_max
)
I will write a separate class (future PR?) which allows the user to 'combine' multiple screening (e.g. LocalDampingCosine and WolfScreening) classes before being passed into physics.ScreenedCoulombEnergyNode(...)
.
Ok, thanks. you can do a new PR for that feature.
Work in Progress; not ready to merge.
Uses the 'complement' of the cosine cutoff in hipnn for smooth cross-over from short-range hipnn energy predictions to long range coulomb energy predictions.
No long-range regularization (Wolf, Shifted-force, Ewald) is implemented in this class. Perhaps it will be best have separate classes for short-range 'damping' and long-range 'screening', which may be combined by the
ScreenedCoulombEnergy
?