Re: [fluka-discuss]: About multiple spherical source

From: <arghyac_at_barc.gov.in>
Date: Fri, 27 Apr 2018 17:09:14 +0530

Thank you very much. Now it is working fine.




On 2018-04-23 19:02, Giuseppe Battistoni wrote:
> Dear ArghyaC
> there were two problems:
> 1) all DIMENSION and DATA statements have to be placed
> before any other operative instructions, i.e. at the beginning of the
> routine.
> 2) starting from DIMENSION CENTERS(5) there were a few lines
> which were not correctly indented. In fortran the instruction
> has to begin in column 7
>
> In attachment the corrected routine
> G.B.
>
> On 23/04/2018 14:43, arghyac_at_barc.gov.in wrote:
>> On 2017-09-16 14:15, Andrea Fontana wrote:
>>> Hello Arghya,
>>>     the idea is to save the x coordinates of the five centers in the
>>> array CENTERS and then to randomly generate the index in the interval
>>> 1:5 to select a random center among the five. The array looks like:
>>>
>>> ARRAY(1) = -10.
>>> ARRAY(2) = -5.
>>> ARRAY(3) = 0.
>>> ARRAY(4) = 5.
>>> ARRAY(5) = 10.
>>>
>>> Actually, if you check in the manual of FLUKA, FLRNDM returns a
>>> uniform random number in the interval [0,1), i.e. with 1 excluded:
>>> so it would be better to write 1+5*FLRNDM(XDUMMY) to have a random
>>> index among 1,2,3,4,5.
>>>
>>> In Fortran you can use the implicit type declaration (as in the FLUKA
>>> user routines) and so you can skip both REAL*4 or REAL*8 instructions
>>>  and simply write a DIMENSION instruction. FLRNDM returns a 64-bit
>>>  number and the conversion is done automatically: in your case I
>>> think
>>> this is not relevant since you round your numbers...
>>>
>>> So a better version of the code is:
>>>
>>>       DIMENSION CENTERS(5)
>>>       DATA CENTERS/-10.,-5.,0.,5.,10./
>>>
>>>       INDEX = FLOOR(1+5*FLRNDM(XDUMMY))
>>>       X0 = CENTERS(INDEX)
>>>
>>>       CALL RACO(TXX, TYY, TZZ)
>>>
>>>       RADIUS = R*FLRNDM(XDUMMY)
>>>       XFLK (NPFLKA) = X0 + RADIUS*TXX
>>>       YFLK (NPFLKA) = RADIUS*TYY
>>>       ZFLK (NPFLKA) = RADIUS*TZZ
>>>
>>> I hope that now it is more clear. Please test it in your simulation
>>> and let us know in case of other doubts.
>>>
>>> Best regards,
>>> Andrea
>>>
>>>> On 2017-09-15 20:10, Andrea Fontana wrote:
>>>>> Dear Arghya,
>>>>>   what about choosing randomly among the 5 sphere centers?
>>>>> Let us say with a code like:
>>>>>
>>>>>       REAL*4 CENTERS(5), X0
>>>>>       DATA CENTERS/-10.,-5.,0.,5.,10./
>>>>>
>>>>>       X0 = CENTERS(FLOOR(6*FLRNDM(XDUMMY)))
>>>>>
>>>>> where X0 is the center of your current sphere and then:
>>>>>
>>>>>     CALL RACO(TXX, TYY, TZZ)
>>>>>     RADIUS = R*FLRNDM(XDUMMY)
>>>>>     XFLK (NPFLKA) = X0 + RADIUS*TXX
>>>>>     YFLK (NPFLKA) = RADIUS*TYY
>>>>>     ZFLK (NPFLKA) = RADIUS*TZZ
>>>>>
>>>>> You have to generate 5 times histories, but the result should be
>>>>> the one you are looking for. I hope this helps.
>>>>>
>>>>> Kind regards,
>>>>> Andrea
>>>>>
>>>>> Il 15/09/2017 14:15, arghyac_at_barc.gov.in ha scritto:
>>>>>> Dear Experts,
>>>>>>
>>>>>>    I need to simulate 5 spherical sources with different spatial
>>>>>> co-ordinate in a single source.f card.
>>>>>>
>>>>>>    I model one sphere (centre at (0,0,0) in source.f card as
>>>>>> follows
>>>>>>
>>>>>> *particle corodinate
>>>>>>     CALL RACO(TXX, TYY, TZZ)
>>>>>>     RADIUS = R*FLRNDM(XDUMMY)
>>>>>>     XFLK (NPFLKA) = RADIUS*TXX
>>>>>>     YFLK (NPFLKA) = RADIUS*TYY
>>>>>>     ZFLK (NPFLKA) = RADIUS*TZZ
>>>>>>
>>>>>> I guess I need to edit  XFLK (NPFLKA), YFLK (NPFLKA), ZFLK
>>>>>> (NPFLKA) to
>>>>>> sample 5 spherical sources in single subroutine.
>>>>>> Co-ordinate of other 4 sphere's centre are (-10,0,0),
>>>>>> (-5,0,0),(5,0,0)
>>>>>> and (10,0,0). radius of each = 1.5 cm.
>>>>>>
>>>>>> Now how to sample other spheres here or how to edit it to
>>>>>> accommodate
>>>>>> all the 5 sources at the same time.
>>>>>>
>>>>>> Kindly give some suggestions.
>>>>>>
>>>>>> Thanking you in advance.
>>>>>>
>>>>>> With regards,
>>>>>> Arghya
>>>>>>
>>>>>> __________________________________________________________________________
>>>>>> You can manage unsubscription from this mailing list at
>>>>>> https://www.fluka.org/fluka.php?id=acc_info
>>>>>>
>>>> Dear Sir/Madam,
>>>>    Thank you very much for quick reply.
>>>>    I am beginner and not much excellence in Fortran programming. So
>>>> I
>>>> have few doubts. Kindly reply me.
>>>>
>>>>     I need to choose all 5 sources randomly with equal probability
>>>> i.e as
>>>> if detector are exposed by all 5 sources simultaneously.
>>>>
>>>>    Since I am using 64 bit computer,
>>>>    can I use REAL*8 instead of REAL*4
>>>>    CENTERS(5) and below that declared centers values as DATA
>>>> CENTERS/-10.,-5.,0.,5.,10./
>>>>
>>>>   Then use X0 = CENTERS(FLOOR(6*FLRNDM(XDUMMY)))
>>>>    here FLOOR(6*FLRNDM(XDUMMY) will produce integer number
>>>> 0,1,2,3,4,5,6
>>>>    I am not getting how it will produce -5 and -10 and 10
>>>> co-ordinates ?
>>>> and why FLRNDM(XDUMMY) is multiplied by 6 only.
>>>>
>>>>   Thanking you in advance
>>>>
>>>> __________________________________________________________________________
>>>> You can manage unsubscription from this mailing list at
>>>> https://www.fluka.org/fluka.php?id=acc_info
>>>>
>>>>
>>
>>
>> Dear FLUKA experts,
>>
>>     As discussed earlier, I am trying to model 5 spherical source
>> using source.f card but not able to compile it.
>>
>>   During compilation, it is giving following error
>>
>>
>> tarted 2018.04.23 18:19:50
>>>>> Compiling: /home/arghya/fluka/flutil/fff -b -N multi.f
>> multi.f:204:24:
>>
>>       DIMENSION CENTERS(5)
>>                         1
>> Error: Invalid character in name at (1)
>> Ended: 2018.04.23 18:19:50
>>
>> Error compiling
>> Error: compiling file: multi.f
>> No object generated
>>
>>
>>
>> Please find attached source.f card also.
>>
>> Kindly suggest me some solutions.
>>
>> Thanking you in advance.
>>
>> with regards
>> ArghyaC

__________________________________________________________________________
You can manage unsubscription from this mailing list at https://www.fluka.org/fluka.php?id=acc_info
Received on Wed May 02 2018 - 12:23:36 CEST

This archive was generated by hypermail 2.3.0 : Wed May 02 2018 - 12:42:08 CEST