There are several wrong things in your source routine.
In the initialization part you have:
***IPART, X, Y, Z, COSX, COSY, COSZ, ENERGY, WEIGHT
* OPEN (UNIT=25, FILE='h51.txt',STATUS='OLD')
READ(25,*)energy,photonnumber
IPART=7
ILOFLK (NPFLKA) = IPART
XFLK (NPFLKA) = X
YFLK (NPFLKA) = Y
ZFLK (NPFLKA) = Z
TXFLK (NPFLKA) = COSX
1) It is not clear if you want to read the whole spectrum, or only
one energy/photon number at a time.
If the whole spectrum, energy and photonnumber must be declared as
arrays, with a certain dimension.
If one energy/photon number at a time, the READ statement must not
be in the initialization part, which is executed only once.
2) X, Y, Z, COSX have never been defined. Are you intending to use
the values defined in the input file with the BEAMPOS command?
Then you should call those variables respectively XBEAM, YBEAM, ZBEAM,
UBEAM.
But, again, the assignments to ILOFLK(NPFLKA), XFLK(NPFLKA),
YFLK(NPFLKA), ZFLK(NPFLKA), TXFLK(NPFLKA) must not be in the
initialization part, which is executed only once and in which
NPFLKA is not defined. It is true that those assignments are indeed
done correctly in the right part of the routine: but then what is the
purpose of having them here?
3) You say that you are using my code to produce the synchrotron
radiation spectrum, but I don't see any sampling from it in the
source routine. Also, you don't say if you want to sample from the
cumulative spectrum or from the spectrum itself. In the latter case,
you must assign a weight to the photon after sampling, equal to
the sampled photon number itself.
4) You want to transport synchrotron radiation photons, but in the
BEAM card of your input file you specify ELECTRON, at 50 GeV.
I know that these are the electrons which produce the synchrotron
radiation, but they are never transported in your problem, which reads
the synchrotron radiation photons from a file. So, I would
rather put PHOTON, with an energy equal to the maximum one in the
spectrum file. It is not so important, since you change the
source particles to photons (IPART=7) in the source routine, but
a) ILOFLK is set = IPART only in the initialization part; it can be
moved out of it (as explained in 2) above), but you could skip
entirely the assignment if you had asked for photons in input.
b) more important, the cross section tables are defined by the
program as if the maximum energy of all particles was 50 GeV,
while the maximum energy of the photon spectrum is certainly much
smaller. That will affect the accuracy of the results.
5) I see that the whole input file is designed for electrons: for instance
you assign a magnetic field to some regions. But, since you have not
set any electron cutoff in your input file, you get the default
cutoff of 1 MeV (both as production and as transport cutoff). And
I don't think that synchrotron radiation photons will ever produce
electrons of 1 MeV or more.
Alberto
On Mon, 17 Aug 2009, Ertan Arikan wrote:
>
> Dear Fluka users,
>
> I would like to simulate 50 GeV electrom pass through inside 9 m
> bending magnet. When e-beam passing through the magnet produced
> sync. rad. will hit on a Stainless steel material (1 m distance
> between material and the magnet). I used Alberto Fasso's code to
> produce the spectrum and try to sampling it but I could'nt manage.
> I put my input files as attachment.
> Could you help me please..
> Regards,
> Husnu
>
>
>
-- Alberto Fasso` SLAC-RP, MS 48, 2575 Sand Hill Road, Menlo Park CA 94025 Phone: (1 650) 926 4762 Fax: (1 650) 926 3569 fasso_at_slac.stanford.eduReceived on Tue Aug 18 2009 - 13:24:38 CEST
This archive was generated by hypermail 2.2.0 : Tue Aug 18 2009 - 13:25:38 CEST