getting one RIXS map adding all RIXS maps

asked by Saki IMADA (2024/10/03 23:37)

Dear Developers,

Thank you for the great Workshop in Heidelberg 2024! I enjoyed learning there very much!

It's a question on a RIXS map: how can I get one RIXS map synthesized from multiple maps?

When I write “psiList” (not “psiList[1]”) in any CreateSpectra command, I get multiple spectra, for example, 6 spectra for a high-spin 3d5 system in Oh, as I set Npsi=6. In the case of XAS and PFY spectra, it is easy to get one spectrum from 6 spectra after the calculation. But for RIXS, getting one map from 6 maps is almost impossible… So it would be nice if there was a command with a similar function as

XASIsoSpectra = Spectra.Sum(XASSpectra,{1,0,0, 1,0,0, 1,0,0})

I really appreciate any help you can provide.

Best regards,

Saki

Answers

, 2024/10/04 08:31, 2024/10/05 12:40

Dear Saki,

If you create a set of RIXS maps with a single command, For example with $NE1=100$ and 6 initial states you get $101*6=606$ columns in the spectrum object. In oder to sum you can do the following

NE = 100
Nstate = 6
tosum = {}
for i=1,NE+1 do
  tosum[i]={}
  for j=1,Nstate do
    for i2=1,NE+1 do
      tosum[i][(NE+1)*(j-1)+i2] = 0
      if i==i2 then 
        tosum[i][(NE+1)*(j-1)+i2] = 1
      end
    end
  end
end
RIXSTzeroSpectra = Spectra.Sum(RIXSSpectra,table.unpack(tosum))

Please note that I did not test the script. If it does not run let me know the error and I'll test. If it runs just comment that it works.

Thanks and best wishes, Maurits

, 2024/10/05 10:13, 2024/10/05 12:40

Dear Maurits,

Thank you for your quick reply! When I revised the red letters parts as follows, it worked properly.

for i=1,NE+1 do

for j=1,Nstate do

for i2=1,NE+1 do

Thank you!

Best regards,

Saki

, 2024/10/05 12:41

Thanks,

oops programming in to many different languages. I revised the original script I posted, such that when other people see this it's not confusing.

Maurits

You could leave a comment if you were logged in.
Print/export