Gregstrq / LightLattices.jl

Lazy interface to lattices with arbitrary unit cells.
MIT License
4 stars 0 forks source link

Cool package! Integration with Meshes.jl #3

Open mohamed82008 opened 3 years ago

mohamed82008 commented 3 years ago

This is a nice package! Have you thought about how you can integrate LightLattices with something like Meshes.jl or GeometryBasics.jl for easy visualization and to benefit from their algorithms?

Gregstrq commented 3 years ago

Thank you!

To be honest, I haven't thought about it. As far as I understand, the purpose of meshes is the discretization of continuous manifolds. Here, the general interest is to describe a collection of physical objects arranged in lattice. (My specific interest is nuclear spins in solids, but one can consider other physical objects).

On the other hand, one can consider lattices as a subset of meshes. So, could you be more specific what kind of integration you have in mind? For example, do you know some particular algorithms from Meshes.jl GeometryBasics.jl which are good to apply to lattices?

mohamed82008 commented 3 years ago

Hey! Sorry I missed your reply. I was thinking of a unified API to iterate over the elements of the lattice and the nodes of those elements where the lattice is a lattice of meshes.

Gregstrq commented 3 years ago

I think the iteration over nodes is solved by defining eachindex dispatch for appropriate types. In this regards, we don't need a special interface. We can reuse the one for AbstractArray-s.

By the way, this guys are discussing on slack the general interface to setup a system of atoms (particles) for molecular simulations. If you are, by chance, interested in this stuff, you may consider joining the slack channel.