Problem 863 - errors in G4RadioactiveDecay branching tables
Summary: errors in G4RadioactiveDecay branching tables
Status: RESOLVED LATER
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic (show other problems)
Version: 8.0
Hardware: All All
: P2 normal
Assignee: flei
URL:
Depends on:
Blocks:
 
Reported: 2006-04-24 16:13 CEST by marcus.h.mendenhall
Modified: 2006-08-23 04:00 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description marcus.h.mendenhall 2006-04-24 16:13:50 CEST
Many of the files in RadiativeDecay3.0 contain incomplete entries, which result in a lot of strange
decays and hangs or very long times to complete a decay.  Bob Weller & I traced this to a number of
types of defects:

1) Entries in which there is a line for a total rate for a branch, but no detail lines, which results in
nothing appearing in the decay table.  This can be especially troublesome if the only other branch
provided has a very tiny total probability (e.g. 1e-9), since the total-probability correction code in the
file parser doesn't notice this inconsistency

2) entries in which a Q value is zero, especially beta decay entries, which (if the bad Q value is the only
detail line for the branch), also results in no entry in the decay table, and can cause problems similar to
1)

3) Entries in which an IT is marked as returning to the same state it started, instead of the ground state,
which if it is the only channel in the file causes an infinite loop

There are a few other cases, but these are the most important ones.  At first, I spent some effort
thinking about fixing the parser to check for all these special cases, but then decided that it is silly to
make a parser have to keep rechecking files every time for being badly formed.  Why not fix the files
instead? It turned out that this was a fairly easy thing to do.  With a bit of python scripting, I made a
script which goes through all the files and looks for these types of problems.  It then rewrites every file
in a regularized form, so there are no anomalies for the parser to worry about.  The total process takes
about a minute on my laptop, so it is pretty easy.

I can send the script for you to examine and test.  As it stands, it looks for two things to be present:  A
set of input files in the directory pointed to by the environment variable G4RADIOACTIVEDATA and a
directory in the current directory, called fixed_decays, in which it writes the repaired files.  After
running the script, the repaired files are in the fixed_decays directory and can but put where they are to
be used.  This script downloads a large table of atomic masses from NIST, and rechecks all the Q values
in the input files.  In cases in which the Q value is specified as 0 and shouldn't be, it puts in the
theoretical value from the NIST masses for the specific reaction.  It also cross checks all Q values in the
file, and annotates with a "W" line cases in which the original Q value (which is retained as the actual
output) differs by more the 10 keV from what was expected.  To run this script, just create the
fixed_decays directory, set up the environment variable, and do

python repair_decay_files.py

and it will print a long verbose log to the terminal window as it does its work.  It should work with
python 2.3 and greater.

The resulting 'preened' files seem to give much more reasonable overall results in situations in which
decays are being tracked.  There are still some funny problems in G4RadioactiveDecay, though.  For
nuclides which have a few hundred decay branches (to many excited states of the daughter nucleus), it
can take as much as a second to complete a single decay.  There is something wrong here that I have
not tracked down yet.  Also, if I run a program which successively decays a few times every species for
which a file is available, the whole process gets slower and slower, either as the number of ions in the
particle table increases, or something.  I have not tracked this down, either.

We are expecting to have significant need of good results from G4RadioactiveDecay, and are willing to
work with the Geant4 team at some level to help further debug and optimize it.  In the interim, I think if
you start distributing, in lieu of the standard RadiativeDecay3.0  files, ones which have been cleaned up
by the attached script, most users will see more rational decays schemes, and you may have to listen to
less complaining.  Incidentally, the repair to z81.a188 must be made for this script to work on that file.
Any files which cannot be parsed by this script because of a serious defect of that type will be inserted
in the output stream as, e.g. z81.a188.FIXME and will not have been corrected.

Let us know how to proceed with this.
Comment 1 flei 2006-08-17 12:17:59 CEST
Hi Marcus,
First apologiese for the very late reply!
We certainly will be instereted in applying your scipts/filter to all the data
files to remove the problematic one. These files are there because of the
entries in the ENSDF are incomplete for the particula isotopes.

On the other hand it may be time to update the entire database. The existing
data files were created in 2002 and the latest ENSDF was released on
10/08/2006. However we have to find the required manpower for this first.

Fan