Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SF propagation (Python) #6

Open
phockett opened this issue Sep 10, 2019 · 8 comments
Open

SF propagation (Python) #6

phockett opened this issue Sep 10, 2019 · 8 comments

Comments

@phockett
Copy link
Owner

Add scale-factor propagation to Python code for correct X-sections.

@phockett phockett created this issue from a note in ePSproc development (To do) Sep 10, 2019
@phockett phockett added the bug label Sep 10, 2019
@phockett phockett moved this from To do to In progress in ePSproc development Oct 14, 2019
@phockett
Copy link
Owner Author

SF prop now incorporated.

Added SF as non-dimensional coord to matrix element Xarray.
Added to scaling calcs. in mfblm().

Might be an issue in some cases if SF is dependent on multiple dims, if only Eke dependent then all is OK.

@phockett
Copy link
Owner Author

Issue closed.

ePSproc development automation moved this from In progress to Done Oct 25, 2019
@phockett
Copy link
Owner Author

phockett commented Feb 7, 2020

Actually, may still be an issue generally - trying to iron out again with AF calculation tests. Issue might be due to complex-valued SFs. (See GDoc PAD notes 2018 for more.)

@phockett phockett reopened this Feb 7, 2020
ePSproc development automation moved this from Done to In progress Feb 7, 2020
@phockett
Copy link
Owner Author

phockett commented Sep 1, 2020

Now mostly fixed (for geometric calc version) in 1aad3f9

This gives correct AF betas (tested only for N2 LF case so far), and XS from ePS definition (matches GetCro results).

Still need to confirm absolute XS Mb values however.

@Planetenbesitzer
Copy link

Sorry, but what is this scale-factor exactly? I don't know when and how to use SF to correct my calculation.

@phockett
Copy link
Owner Author

Good question, and apologies this is not documented elsewhere already!

Short answer: you probably don't need to use the scale factor (SF).


Longer answer for reference:

  • The SF is output by ePolyScat DumpIdy segments for matrix elements, which look something like:
----------------------------------------------------------------------
DumpIdy - dump out phase corrected and properly normalized dynamical coefs
----------------------------------------------------------------------

Use photoelectron kinetic energy =       0.810000 eV
Corresponding photon energy =      14.402000 eV
Scale Factor to square root of Mbarn =  0.20663304E+01  0.39041597E+01


Sym Cont =A2     Targ =A2     Total =A1   
Sym Cont =    2  Targ =    2  Total =    1
NGroup =    4  Energy =  0.81000000E+00
LMax =   12  nrdimTarg =    1  NDipoleMatrixTypes = -100
   m   l mu ip it Value
  -2   2  0  1  1 -0.11977756E+00 -0.14663879E-01
   2   2  0  1  1  0.11977756E+00  0.14663879E-01
...

(This is from the NO2 demo at

DumpIdy - dump out phase corrected and properly normalized dynamical coefs
)

  • In ePSproc these Scale Factor to square root of Mbarn values are read, and stored in the Xarray metadata for each set of matrix elements.
  • In testing, I found that these are already incorporated in the matrix elements, so you don't need to worry about them in general for computing X-sections or AF/LF results (see https://epsproc.readthedocs.io/en/latest/methods/LF_AF_verification_tests_060720_tidy_100920.html which compares results from ePolyScat getCro segments for the LF, with results computed using the ePSproc routines from the matrix elements for the LF case - this is a good sanity test of the numerics), although I did leave in the option to multiply by the SF in the current dev code.
  • For changing the normalisation of the matrix elements you might want to use the SF, but I haven't explored this.

Out of interest, what are you working on?

@phockett
Copy link
Owner Author

Also, there is a new verifyAFiso() function you can use for the type of comparison mentioned above, see the docs and source for details. (Note this is currently in the dev branch only, and not yet written up in the main documentation.)

@Planetenbesitzer
Copy link

Planetenbesitzer commented May 12, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
ePSproc development
  
In progress
Development

No branches or pull requests

2 participants