arjankoning1 / talys

The nuclear reaction model code
MIT License
19 stars 0 forks source link

Setting LTarget does not seem to use correct parameters found in the discrete level files #2

Open Nyrb1001 opened 4 months ago

Nyrb1001 commented 4 months ago

**edited - accidentally included the astro y flag to the sample input - all results are still the same When the LTarget flag is used, it seems to use a different list of parameters read from structure/levels/final. For example the input:

element Ni projectile n mass 57 energy n0-30.grid

MaxN 1 MaxZ 0

ldmodel 4 massmodel 2 popeps 1.e-20 preequilibrium y

Ltarget 6

Will have the following line in the output file:

########## BASIC REACTION PARAMETERS ##########

Projectile : neutron Mass in a.m.u. : 1.008665 Target : Ni57r Mass in a.m.u. : 56.939791

Excited target level : Number Energy Spin Parity Lifetime(sec) 26 12.1200 1.5 + 0.000E+00

And does follow through with this (ie, the Q value corresponds to this excitation energy).

Looking at the the structure/levels/final/Ni.lev, Ltarget 6 should be

6 3.009000 4.5 1 4 J 7/2+,9/2+ 4 0.996806 0.000E+00 B 3 0.000036 0.000E+00 B 1 0.002653 0.000E+00 B 0 0.000505 0.000E+00 B

But rather the actual output seems to correspond to

159 12.120000 1.5 1 4 JP
10 0.093318 0.000E+00 B 3 0.176333 0.000E+00 B 2 0.335898 0.000E+00 B 1 0.394452 0.000E+00 B

Which is also different than the labeled "level 26" from the output file. This is reproducible in TALYS 1.9 as well as the current version here. This behavior is not unique to Nickle, and there does not appear to be a pattern when selecting other nuclei or levels.

arjankoning1 commented 4 months ago

OK, that was a tricky one. If you specify Ltarget, then TALYS looks for the half life of that level. If the half life is less than the value of 'isomer' (whihc by default is 0.1 sec for aproduced level and 1 sec for the target) it will reset the isomer definition to the half life of your target level, since it does not make sense to use a shorter lived target level than the definitionof an isomer. ince in your case the half life is zero, all levels are treated as isomer, hence the target definition of Ni57r. This caused a problem in the numbering of isomers in the continuum and I chnaged one if statement to prevent that. Hope this is solved now with the latest levels.f90

Nyrb1001 commented 4 months ago

I think there are still a few quirks - I tried this with Fe56 at Ltarget6:

element Fe projectile n mass 56 energy 1 MaxN 1 MaxZ 0 ldmodel 4 massmodel 2 popeps 1.e-20 preequilibrium y

Ltarget 6

and its similar problem:

Excited target level : Number Energy Spin Parity Lifetime(sec) 26 5.6239 3.0 - 1.900E-14

which corresponds to the 90th level in Fe.lev - it does however have the same lifetime as the level 6 from Fe.lev

arjankoning1 commented 4 months ago

OK, tried another patch. I think/hope it will not cause other problems, as I only chnaged this for the case where there are isomers in the continuum. Your input case is for a target level with very short, or no, half life, which complicates things. Anyway, now the Fe56 case does not show it anymore.