I have been using the ASE-SIESTA-PyNAO module to attempt some RAMAN/IR mode calculations on graphene (if anyone has any experience with this please send me a message maybe we can chat about it). At no point during these calculations do I define mass of carbon (neither in the PyNAO arguments nor in SIESTA species definition arguments which is very strange of course !) to get the RAMAN/IR spectra and I get shifted results (both blue and red shifts, which seem somewhat random) with respect to what a typical RAMAN spectrum of graphene would look like.

I have also used the SIESTA/VIBRA module to extract all modes at the Gamma point, those do require mass, which makes sense, but I can't seem to find a method to extract the modes that are RAMAN or IR active from the total modes I obtain from VIBRA.

My question here is thus in three parts:

  1. Can anyone explain how ASE calculates IR or RAMAN modes without implicating mass of the atoms ? (and if it does where can I toggle it to get better results).

  2. Does anyone have a method for extracting RAMAM or IR active modes from the total modes we can obtain with the VIBRA module from SIESTA ?

  3. Since the method from ASE-PyNAO-SIESTA differs completely from the SIESTA/VIBRA method to calculate vibrational modes, it seems impossible to parse VIBRA results through the ASE calculator to get RAMAN/IR activity. Is this assumption correct ?


1 Answer 1


I've been using Pynao and Siesta recently. I made it work just a couple of days ago.

Regarding your questions:

  1. I am not sure, but I think ASE has a database for elements. You said about graphene, and I am pretty sure the mass is already defined. Maybe you could try yoursystem.get_masses(). I am pretty sure it is there. Make sure you understand ASE, this is a simple question (pls, don't get me wrong).

  2. I don't think VIBRA will get you Raman. It needs the vibrational and electronic properties for that. VIBRA will only get you the first one, if I am not mistaken.

  3. I don't think it is impossible, but it is better not to mix the codes, since you should master both.

According to your info, it is possible that you may be running a poor quality calculation. Also, bear in mind that the supercell must be large enough. I did not get the Raman yet, but with a 7x7 graphene supercell, you get a correct phonon dispersion using ASE's vibration module.

Also, it is not in Pynao's documentation that you can select only the unitcell to move. You can create a simple number list (for graphene it would be g = [0, 1]) and calculate everything only with these atoms. This saves time.

It is an option in StaticRamanCalculator called indices=. Look for Barbry PhD thesis.

  • 1
    $\begingroup$ I agree, I apologize for not doing my homework fully before asking this question. $\endgroup$
    – Elie H
    Commented Dec 14, 2021 at 20:41
  • $\begingroup$ Don't worry. At first, we usually get lost in such amount of info. Good luck! $\endgroup$
    – D. Massote
    Commented Dec 15, 2021 at 14:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .