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