Re: "STOP NO CHANNEL SELECTED" appears!

From: Alberto Fasso' <fasso_at_slac.stanford.edu>
Date: Tue, 9 Aug 2011 13:28:43 -0700 (PDT)

I am not sure what exactly was the cause for that particular error.
But I see problems in your programming that could be the cause for this, and
even if they are not, they could cause other problems in future.

As Giuseppe has explained in his mail "Parameters in FLUKA includes",
all constants and variables in FLUKA must be in double precision, and this can
be easily ensured by using pre-defined constants in the (DBLPRC) include
file.
I find in your mgdraw routine:
oszTH = 1.0D0 - srad/(2. * 3.1415926535897932384626433832795)
It should be:
oszTH = ONEONE - srad/(TWOTWO * PIPIPI)

       xn = XSCO*10.
       yn = YSCO*10.
They should be:
       xn = XSCO*TENTEN
       yn = YSCO*TENTEN

       XPP = 1000. * PPx / PPz
       YPP = 1000. * PPy / PPz
They should be:
       XPP = 1.0D+3 * PPx / PPz
       YPP = 1.0D+3 * PPy / PPz

       AngR = 15.*3.1415926/180.
It should be:
       AngR = FIFTEN*DEGRAD

The same or similar inaccurate statements appear several times in the
rest of the routine.

In your source routine I find:
       aac = 0.0
       bbc = WHASOU(5)*2.355/WHASOU(1)

       aah = WHASOU(11) * 2.355 / WHASOU(7)
       bbh = WHASOU(12) * 2.355 / WHASOU(9)

They should be:
       aac = ZERZER
       bbc = WHASOU(5)*2.355D0/WHASOU(1)
       aah = WHASOU(11) * 2.355D0 / WHASOU(7)
       bbh = WHASOU(12) * 2.355D0 / WHASOU(9)

        coeff = WHASOU(5)/(WHASOU(1)/2.355)
        WHASOU(2) = 2.355 * (Epx / (coeff * WHASOU(5)*3.1415926d0))
        WHASOU(4) = 2.355 * (Epy / (coeff *
      & (WHASOU(5)*WHASOU(3)/WHASOU(1))*3.1415926d0))
They should be:
        coeff = WHASOU(5)/(WHASOU(1)/2.355D0)
        WHASOU(2) = 2.355D0 * (Epx / (coeff * WHASOU(5)*PIPIPI))
        WHASOU(4) = 2.355D0 * (Epy / (coeff *
      & (WHASOU(5)*WHASOU(3)/WHASOU(1))*PIPIPI))

In your routine coxy:

        xp = 0.001 * xdiv * RGAUSx / 2.355D0
        yp = 0.001 * ydiv * RGAUSy / 2.355D0
        xpp = xp * 1000.0
        ypp = yp * 1000.0
They should be:
        xp = 1.D-3 * xdiv * RGAUSx / 2.355D0
        yp = 1.D-3 * ydiv * RGAUSy / 2.355D0
        xpp = xp * 1.D3
        ypp = yp * 1.D3

In your routine cooxy:
       r = DSQRT(-2.0*DLOG((1.0D0 - XRAND1)*DEXP(-a**2/2.)
      & + XRAND1*DEXP(-b**2/2.)))
It should be:
       INCLUDE '(DBLPRC)'
       ........................................................
       r = SQRT(-TWOTWO*LOG((1.0D0 - XRAND1)*DEXP(-a**2/TWOTWO)
      & + XRAND1*EXP(-b**2/TWOTWO)))
(the functions DSQRT, DLOG, DEXP are not recommended with the latest versions
of Fortran: they should be replaced by the generic ones SQRT, LOG, EXP)

       the = 2.0 * PI * XRAND2
It should be:
       the = TWOTWO * PI * XRAND2
(you have defined PI correctly in double precision with all the necessary
figures, so it is ok: but you could have used the pre-defined constant PIPIPI,
provided you had inserted the INCLUDE '(DBLPRC)' which is included in ALL
FLUKA routines).

Same corrections in your routine cxyp.

Alberto

On Mon, 8 Aug 2011, Hantao Jing wrote:

> Dear FLUKA experts,
>
> When I has submitted 128 jobs on server today, I find one of
> my jobs aborts run and shows the following
> errors:
> Abort called from ICLSSF reason NO CHANNEL SELECTED Run stopped!
> STOP NO CHANNEL SELECTED
>
> My fluka is the last version 2011.2.4 download this morning. How
> to avoid these errors?
> Thank you very much!
>
> Hantao Jing
> 2011-8-8
Received on Tue Aug 09 2011 - 23:29:26 CEST

This archive was generated by hypermail 2.2.0 : Tue Aug 09 2011 - 23:29:27 CEST