quantum-kite / kite

KITE Quantum Transport Software
https://quantum-kite.com
GNU Lesser General Public License v3.0
27 stars 19 forks source link

question about setting Length for Lager unit cell. #15

Open QG-phy opened 2 months ago

QG-phy commented 2 months ago

Hello, I am trying to perform electronic property calculations using KITEx on a system defined by a unit cell extracted from a molecular dynamics (MD) trajectory. The unit cell size is already quite substantial, approximately 10000 atoms.

When setting up the calculation, KITEx requires the specification of system lengths Length = [lx, ly, lz]. However, I am receiving an error if any of these dimensions are set to less than 8. The error message I receive is as follows:

"The system size in direction 0 (5) must be a multiple of the number of divisions in that direction (1) times TILE (8). Exiting."

This requirement implies that the minimum system size I can define is [8, 8, 8], which would result in a system comprising approximately 5 million atoms. This is too large and will cost extra memory and CPU time, which I don't want.

I would appreciate guidance on how to proceed with calculations for a structure with a unit cell of this size. Is there a way to adjust the Length size requirements in KITEx ?

jvianalopes commented 2 months ago

Dear Qiangdqiang Gu,

You can recompile KITE with a different value of TILE

just edit the file: Src/Generic.hpp

Let me comment on some details: Regarding lattice dimensions, 10^4 orbitals x 8^3 is equivalent to a graphene with 20248x2048. This is the starting point in terms of lattice size.

The point is that the efficiency of the calculation decreases strongly with the cell dimension. You will recover some efficiency if you increase the lattice dimensions.

Cheers

On 17 Jun 2024, at 16:51, Qiangqiang Gu @.***> wrote:

Hello, I am trying to do some calculations for a system where the unit cell is taken from MD trajectory which itself is already large enough.

When I use KITEx to perform the electronic properties calculations I need to set the Length = [lx,ly,lz]; but I got an error when lx,ly,lz are smaller than 8. The error message is : "The system size in direction 0 (5) must be a multiple of the number of divisions in that direction (1) times TILE (8). Exiting."

so I wondering how to do calculations for this kind of structure whose unit cell is already large enough, maybe ~ 10000; Because, for 3-dim system, according to the error message, the minimum lx.ly,lz is [8,8,8]; then the system size will be like 5 million atoms, which i think is too large.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

João Manuel Viana Parente Lopes Professor Auxiliar Departamento de Física e Astronomia Faculdade de Ciências - Universidade do Porto

QG-phy commented 2 months ago

thank you for the quick response. I will try to recompile the KITE. And regarding your final point, are you suggesting that for a large cell, a larger lattice dimension such as [8, 8, 8] could potentially be more computationally efficient than a smaller one, like [1, 1, 1]?

jvianalopes commented 2 months ago

Hi,

What I mean is that for a lattice with linear dimension L, the computation time T_L will follow,

T_1 > T_8 / 8^3

Cheers João

On 18 Jun 2024, at 03:48, Qiangqiang Gu @.***> wrote:

thank you for the quick response. I will try to recompile the KITE. And regarding your final point, are you suggesting that for a large cell, a larger lattice dimension such as [8, 8, 8] could potentially be more computationally efficient than a smaller one, like [1, 1, 1]?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.