Questions on <Unfolding.Map> and Compiler Compatibility Feedback |
- Date: 2025/07/29 16:55
- Name: Maedeh
- Dear OpenMX Developers,
I’m currently using OpenMX v3.9 for band unfolding calculations and would greatly appreciate some clarification regarding the use of <Unfolding.Map>, particularly for systems that include both pristine and proximitized regions.
What are the rules for grouping atoms in the supercell to map them to the reference cell?
To be clearer about my question, I am referring to this system as an example: A large rectangular graphene/MoS2 heterostructure where MoS2 is present only in the middle section, while the rest is pristine graphene. I would like to unfold the bands to the primitive graphene unit cell that contains 4 carbon atoms.
Supercell has atoms of types C, Mo, and S.
The reference cell contains only 4 carbon atoms, matching the graphene base used to construct the heterostructure. Now, given that Mo and S atoms are not part of the reference cell, how should they be mapped in the <Unfolding.Map> section? Should they be excluded from unfolding?
I understand that <Unfolding.Map> expects integers, but it's unclear how to choose the mapping indices properly in a hybrid structure like this.
On a different topic, I would also like to share a technical comment from our HPC administrator: We encountered difficulties compiling OpenMX v3.9 with GCC 10+ and Intel oneAPI compilers due to outdated coding constructs no longer accepted by modern compilers. We had to fall back to GCC 8.5 and manually modify the Makefile to achieve a working build. If possible, could future versions of OpenMX be made compatible with up-to-date compilers?
Thank you for your time and for providing this powerful Code. I’d be very grateful for any clarification or advice.
Best regards, Maedeh

| |