You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The neighbour calculation could simply calculate the da db and dc for the neighbours of the first unit cell depending on the number of shells etc. This way one could generate a list of pairs equivalent to the input for the anisotropic Hamiltonian
The two Hamiltonians could be merged into one again...
Question: how to deal with this in the UI? The neighbours could be re-calculated when input changes and from there the entire pairs re-calculated.
The text was updated successfully, but these errors were encountered:
It makes sense to converge to two similar implementations:
Hamiltonian_Heisenberg_Neighbours
using neighbour lists (calculated and saved for the first cell and translated during calculation) determined by shell-wise input
This only allows for shell-wise input, but would thereby allow an easy user interface
The calculation can be parallelized per cell which should in theory give great performance using CUDA on GPUs (strangely this did speed-up not work when I tried)
using pair lists (calculated and saved for the first cell and translated during calculation) determined by exact input of the entire lists
This allows for anisotropic distributions of interactions
On single-thread this should be 2x as fast as the neighbours approach
Both implementations would allow the geometry to be changed at runtime (if #117 is also implemented - see also #102), as the lists do not depend on the geometry, though one would need to check that the geometry is large enough to contain the shells/lists.
This work has been initiated on feature-improve-hamiltonians, starting with fccc5a3.
The neighbour calculation could simply calculate the da db and dc for the neighbours of the first unit cell depending on the number of shells etc. This way one could generate a list of pairs equivalent to the input for the anisotropic Hamiltonian
The two Hamiltonians could be merged into one again...
Question: how to deal with this in the UI? The neighbours could be re-calculated when input changes and from there the entire pairs re-calculated.
The text was updated successfully, but these errors were encountered: