Page 1 of 1
Using Model-BSE to calculate 2D materials optical absorption spectrum
Posted: Fri Feb 27, 2026 6:53 am
by liang-wen_pi
Hello,everyone!
Recently, I have been learning the optical properties of 2D materials, and I have some questions in calculate this example.
1. Can VASP calculate the optical absorption spectrum of two-dimensional materials using the mbse method? (Especially the exciton peak)
2. Are there any other parameters that need to be specially added? Especially in the field of two-dimensional material calculations
3.Which fitting formula were the fitting parameters AEXX and HFSCREEN in the tutorial obtained from?
https://www.vasp.at/wiki/index.php/Impr ... am:scr:6-1
THANKS!
lw Pi
Re: Using Model-BSE to calculate 2D materials optical absorption spectrum
Posted: Fri Feb 27, 2026 4:17 pm
by alexey.tal
Dear lw Pi,
In principle it is possible to used the model BSE approach for 2D materials. However, the problem is that this isotropic model is not really a good approximation for anisotropic screening in 2D materials. Hence, it can't be used to fit the dielectric tensor of a 2D material.
Despite these limitaions, there are papers where the same isotropic model was tuned to approximate the full screened potential: Camarasa-Gómez et al., Phys. Rev. Materials, 104001 (2023) and Ramasubramaniam et al., Phys. Rev. Materials, 084007 (2019). If you find the accuracy sufficient, you can try to follow the same procedure for determining the empirical parameters to tune the model.
Best wishes,
Alexey
Re: Using Model-BSE to calculate 2D materials optical absorption spectrum
Posted: Wed Mar 04, 2026 7:33 am
by liang-wen_pi
Thanks for your reply.
I have another question.
When doing GW calculations, is it necessary to select the POTCAR file with the GW label?
Example: Ga element has many different types of POTCAR.
Ga/ Ga_d/ Ga_d_GW/ Ga_GW/ Ga_h/ Ga_sv_GW/
lw Pi
Re: Using Model-BSE to calculate 2D materials optical absorption spectrum
Posted: Wed Mar 04, 2026 8:06 am
by ahampel
Dear Iw Pi,
yes for reliable GW results you generally should use the POTCAR files specifically labeled for GW.
The reasoning is that in GW calculations VASP explicitly evaluates the screened Coulomb interaction and the polarizability, which depend on accurately describing not just the occupied states but also a large number of high-lying unoccupied states. Standard PBE/PAW potentials are optimized for ground-state total energies and may not have a sufficiently complete basis for the unoccupied part of the spectrum. see also https://www.vasp.at/wiki/Available_pseu ... potentials and https://www.vasp.at/wiki/Choosing_pseud ... ied_states
Best,
Alex
Re: Using Model-BSE to calculate 2D materials optical absorption spectrum
Posted: Thu Mar 05, 2026 9:12 am
by liang-wen_pi
Thanks,Alex.
Now, i was calculating heterostructure with Low scaling GW algorithms.I have no idea how the memory required for this method is calculated? My task keeps getting killed.
Here are my basic details: 8 CPU cores to run this task, and there is 2.5 TB of available memory on the server. You can check the log file in the compressed package; according to its prompts, there should be no memory leak issues with my calculation.
ytning@HPE-Debian:~$ free -h
total used free shared buff/cache available
Mem: 3.0Ti 22Gi 2.9Ti 88Mi 2.1Gi 2.9Ti
Swap: 470Gi 25Gi 444Gi
Re: Using Model-BSE to calculate 2D materials optical absorption spectrum
Posted: Fri Mar 06, 2026 12:53 pm
by ahampel
Hi Iw Pi,
I had a look at your calculation and tried myself the set of input files.
Essentially, the low-scaling GW code will perform a dry run of the calculation going through all routines and collecting the memory requirement. To our knowledge this should work pretty accurately. The first time I run your calculation it was printing:
Code: Select all
estimated memory requirement per rank 300365.0 MB, per node ******** MB
also with 8 ranks. This would be then 2350 GB of memory for all 8 ranks. I could not run this (I had 1TB of mem avail). Interestingly in your log it shows a much lower 202835.1 MB requirement. That is a bit unclear to me how this happened. But I was also lazy and started the calculation without prior calculation of the WAVECAR and WAVEDER file, which is of course not correct to do. But I think it is not unthinkable that this job will go beyond the 2.5 TB memory you have available. What I did do to verify the accuracy of the estimation is to run the GW calculation with these settings: reduce kmesh to 3x2x1 and this INCAR file:
Code: Select all
SYSTEM = hetero
ENCUT = 300
LWAVE = .TRUE.
LCHARG = .TRUE.
ISMEAR = 0
SIGMA = 0.05
LORBIT = 11
LDIPOL = .TRUE.
IDIPOL = 3
ALGO = G0W0R
NOMEGA = 12
PRECFOCK = Fast
LOPTICS = .TRUE. # for insulator recommended
This was giving me the following output:
Code: Select all
estimated memory requirement per rank 109787.8 MB, per node 878302.0 MB
and I monitored RAM usage by running vasp with mpirun -np 8 time -v vasp_std . This will generate a report in the end where you will also find these lines:
...
Maximum resident set size (kbytes): 120153880
...
which are the maximum number of memory used during the RAM. 120153880/1024*8 = 938,702 MB of memory. And this is very close to the 878302 MB reported I would say given that each rank had a slightly different number. From that the error of the estimate should be only around 10%. Can you try with this INCAR file and k-mesh? I would suggest to start with this setting and then increase precision (k-mesh, ntaupar, nomega, encut, etc) . My setting is for performing the GW calculation in one step. This will do a DFT calculation first including WAVEDER calculation (your system is as far as I can see insulating? Otherwise set LOPTICS=False please). You can also use more nodes with the same number of ranks per node to reduce memory load. However, more ranks per node will use more memory.
Best,
Alex