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
    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
    Dec 15, 2021 at 14:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.