ttadano / alamode

Ab initio simulator for thermal transport and lattice anharmonicity
http://sourceforge.net/projects/alamode
MIT License
143 stars 54 forks source link

Use sparse datatype for the temporary array when creating ShengBTE force constants #213

Closed ttadano closed 2 months ago

ttadano commented 3 months ago

Hi, When I use a supercell containing 512 atoms to fit higher order force constants and output fourth order force constants in shengbte format, the following error is reported. Does this phenomenon stem from having too many force constants to store? In addition, I would like to ask you if there is a way to solve this problem?

_**_Force constants in a human-readable format : Zr-anhar.fcs Input data for the phonon code ANPHON : Zr-anhar.xml Third-order FCs in ShengBTE format : Zr-anhar.FORCE_CONSTANT_3RD Caught an exception when trying to allocate 4-dimensional array std::bad_alloc : Array shape = 24x1536x1536x1536 std::bad_alloc : Array size (MB) = 695784

Best regards, Zhunyun

Originally posted by @ZhunyunTang in https://github.com/ttadano/alamode/discussions/210#discussioncomment-10511394