I want to ask a question about placing the periodic boundary conditions. I couldn't find a documentation about defining unit cells
https://smuthi.readthedocs.io/en/latest/_source/04%20examples/fifteen_periodic_spheres_in_slab/discussion.html in fifteen spheres case:
In 15 spheres example, BCs are defined as:
# define unit cell
a1 = np.array([1001, 0, 0], dtype=float)
a2 = np.array([0, 1001, 0], dtype=float)
Do the upper arrays consider the area with corners
(0,0,0) (1001,0,0) (0,1001,0) (1001,1001,0)? If so, how can it account for the spheres that have negative coordinates?
Here is the location of spheres from the example file.
particle_list = [part.Sphere(position=[-200, -200, 1000], refractive_index=rfidx, radius=150, l_max=lmax, m_max=mmax),
part.Sphere(position=[200, 200, 2000], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax),
part.Sphere(position=[0, 30, 1500], refractive_index=rfidx, radius=120, l_max=lmax, m_max=mmax),
part.Sphere(position=[-300, -200, 2700], refractive_index=rfidx, radius=110, l_max=lmax, m_max=mmax),
part.Sphere(position=[110, 150, 2720], refractive_index=rfidx, radius=140, l_max=lmax, m_max=mmax),
part.Sphere(position=[200, 0, 390], refractive_index=rfidx, radius=120, l_max=lmax, m_max=mmax),
part.Sphere(position=[-100, 380, 400], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax),
part.Sphere(position=[200, -100, 1900], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax),
part.Sphere(position=[-320, 300, 2050], refractive_index=rfidx, radius=110, l_max=lmax, m_max=mmax),
part.Sphere(position=[-360, -360, 220], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax),
part.Sphere(position=[100, 300, 1160], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax),
part.Sphere(position=[-150, 300, 2360], refractive_index=rfidx, radius=120, l_max=lmax, m_max=mmax),
part.Sphere(position=[-270, -300, 2200], refractive_index=rfidx, radius=130, l_max=lmax, m_max=mmax),
part.Sphere(position=[-170, -180, 1470], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax),
part.Sphere(position=[340, -300, 1500], refractive_index=rfidx, radius=100, l_max=lmax, m_max=mmax)]
Kind regards,