12.07.2015 Views

coulomb excitation data analysis codes; gosia 2007 - Physics and ...

coulomb excitation data analysis codes; gosia 2007 - Physics and ...

coulomb excitation data analysis codes; gosia 2007 - Physics and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The average range covered by each matrix element is also tracked, <strong>and</strong> the maximum of the two widthestimates is used (in order to account for possible inaccuracies in the sensitivities, which are calculated in thefast approximation). An overall scaling factor is applied to the width array (which is otherwise normalizedto Σσ 2 i =1) <strong>and</strong> this scaling factor is adjusted to maintain a ratio of accepted steps to attempted steps of1/2. This ensures that the code spends a reasonable fraction of the time sampling unfavored regions.Since Coulomb-<strong>excitation</strong> analyses are all somewhat unique, there are several parameters which mustbe supplied by the user to determine the flow of the program. A basic underst<strong>and</strong>ing of the logic of theannealing routine is very helpful for determining the appropriate values of these parameters for a givenCoulomb <strong>excitation</strong> <strong>analysis</strong>. The structure of the routine is described here, <strong>and</strong> it is suggested that the usermonitor the progress of the procedure regularly.The core section of the annealing routine is a loop similar to that described above. That is, a sequence:Generate a step (in all matrix elements)calculate ∆χ 2 for this stepcalculate probability to accept step G(∆χ 2 ,T)accept or reject stepthat is executed a number of times controlled by the input quantities IACC_LIM <strong>and</strong> ITRY_LIM. If thenumber of attempted steps exceeds ITRY_LIM or the number of accepted steps exceeds IACC_LIM, theloop will terminate. Upon termination of this “inner” loop, the current statistics are printed to the logfile <strong>and</strong> the width array σ(x i ) is re-scaled by an overall factor in order to keep the ratio of attempted toaccepted steps as close to 1/2 as possible. Before re-scaling, the sensitivities for each matrix element maybe re-calculated on the basis of the input parameter ISENS.The “inner” loop described above is then re-entered <strong>and</strong> executed until one of the previously describedlimits is again reached. The “inner” loop described above is thereby enclosed within an “outer” loop asfollows:Execute “inner” loop until terminationprint statisticsif isens “outer” loops have been executed, re-calculate sensitivities<strong>and</strong> width arrayre-scale width arrayOnce a total of IACC_TOT_LIM steps have been accepted at the current temperature, the program willimmediately leave both inner <strong>and</strong> outer loops, lower the temperature, <strong>and</strong> begin the above process again. Theprogram will, however, execute this “outer” loop a maximum of OUTERLIM times <strong>and</strong> then halt executionwithout lowering the temperature. The OUTERLIM parameter is therefore a maximum value that shouldnot be reached under normal execution. This is assumed to be a number large enough that reaching thisvalue indicates a condition which requires human intervention (for example, if no steps are ever accepteddue to an improperly chosen limit).There is one other condition which will result in the program halting execution. This condition is definedby the “current” χ 2 value dropping below a minimum value CHIOK. The reason for this condition is simple:if the program happens upon a very good fit, there may be little reason to continue the procedure. The usermay check the resultant matrix-element values <strong>and</strong> decide whether the solution is reasonable or not beforecontinuing execution of the program.Since the SA approach lends itself to long (≈1 day) execution times, the implementation of this approachin the Coulomb <strong>excitation</strong> program GOSIA has been designed to be as fault-tolerant as possible. In theevent of a computer crash, the program can usually be re-started with little loss of time. During execution,several auxiliary files are therefore employed for the storage of information necessary for a quick re-start. Thecurrent set of matrix elements is written to disk periodically so that in the event of a crash, the calculationmay be resumed from the last recorded point. The current width array σ(x i ), temperature, <strong>and</strong> numbers ofsteps attempted <strong>and</strong> accepted are also written to disk so that the program can be somewhat system-faulttolerant. The current “best-fit” matrix elements are also tracked <strong>and</strong> written to disk, so that the user mayinspect the quality of the fits. The correction factors (for the “fast” calculation) are also written to diskperiodically. These can be corrupted, however, in the case of unexpected program termination (i.e., a crash).The correction factors should therefore always be re-calculated when re-starting GOSIA.151

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!