Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove vacancy limit for EADL relaxations
Remove statements in routine egs_init_relax to allow all shells with binding energy above 1 keV available in the Evaluated Atomic Data Library (EADL). Also remove some commented out portions of the code. Up to now, the default relaxation implementation in EGSnrc allowed vacancies from atomic shells K and L1-L3, as well as <M> and <N> shells in an averaged way. Also, different interactions consider different sets of shells: EGSnrc shell types: ------------------- Compton interaction (shn_array) 1..7: K, L1, L2, L3, <M>, <N>, rest Photoelectric effect 1..5: K, L1, L2, L3, <M> Electron impact ionization 1..4: K, L1, L2, L3 However, the EADL relaxation implementation can actually accept more shell types, up to what is available in the library (27 shells for atomic number Z=99). But EGSnrc was forcing M1 and N1 shells instead of <M> and <N>, and using O1 as the outermost shell, via the following statements in egs_init_relax: IF (shell_num(ish)<=7) shell_eadl(iZ,shell_num(ish)) = ish; ... shell_eadl(iZ,6) = shell_ntot + 10; "reseting to type 16 (N1)" shell_eadl(iZ,7) = shell_ntot + 17; "reseting to type 27 (O1)" Since EGSnrc shell types can range from 1 to 7, vacancies can potentially be created in M1, N1, or O1 shells if energetically possible. PROBLEM: This approach ignores that M2 and M3 vacancies can in fact be favored energetically! For instance for Z=74, M1 and M2 vacancies with binding energies 2.8 keV and 2.6 keV respectively could generate characteristic x-ray lines above 1 keV. SOLUTION: Remove the aforementioned statements in egs_init_relax, allowing all shells with binding energy above 1 keV. OUTCOME: Invoking relax using shells 5, 6, or 7 will create vacancies in the M1, M2, and M3 shells. This is not entirely correct for the photoelectric effect, where the sampling is done for <M> only, nor for Compton since shell number 5 will then correspond to shells M1 to M5, and shell number 6 to shells N1 to N7. For Compton this can be corrected by using shell_array instead of shn_array in the call to relax.
- Loading branch information