Efficient index handling of multidimensional periodic boundary conditions

Efficient index handling of multidimensional periodic boundary conditions

10 Apr 2001 | José M. Soler
An efficient method is described for handling mesh indexes in multidimensional problems with periodic boundary conditions. By extending the mesh beyond the unit cell, the stride between equivalent mesh points becomes independent of their position within the cell. This allows mesh indexes from all dimensions to be contracted into a single index, avoiding modulo operations. Periodic boundary conditions are crucial in solid state physics and simulations. The method uses an extended mesh to handle neighbor points efficiently. The extended mesh range is defined to cover all space reachable from the unit cell. Two indexes are used: one for the normal unit cell and one for the extended mesh. The key observation is that the arithmetic difference between mesh points depends only on their relative positions. This allows creating a list of neighbor strides and arrays to translate between indexes. The method simplifies neighbor access by translating indexes, finding neighbor points, and translating back. This approach is efficient and generalizable to any linear operator. The method is particularly useful for periodic boundary conditions but can also be applied to fixed boundary conditions. The method requires only one addition and three memory calls, with a small memory overhead. It is efficient and applicable to various problems involving periodic boundary conditions in multiple dimensions.An efficient method is described for handling mesh indexes in multidimensional problems with periodic boundary conditions. By extending the mesh beyond the unit cell, the stride between equivalent mesh points becomes independent of their position within the cell. This allows mesh indexes from all dimensions to be contracted into a single index, avoiding modulo operations. Periodic boundary conditions are crucial in solid state physics and simulations. The method uses an extended mesh to handle neighbor points efficiently. The extended mesh range is defined to cover all space reachable from the unit cell. Two indexes are used: one for the normal unit cell and one for the extended mesh. The key observation is that the arithmetic difference between mesh points depends only on their relative positions. This allows creating a list of neighbor strides and arrays to translate between indexes. The method simplifies neighbor access by translating indexes, finding neighbor points, and translating back. This approach is efficient and generalizable to any linear operator. The method is particularly useful for periodic boundary conditions but can also be applied to fixed boundary conditions. The method requires only one addition and three memory calls, with a small memory overhead. It is efficient and applicable to various problems involving periodic boundary conditions in multiple dimensions.
Reach us at info@study.space
Understanding The SIESTA method for ab initio order-N materials simulation