--- ******************************************************************* Dr. Jilberto Zamora Saa Dzhelepov Laboratory of Nuclear Problems Joint Institute for Nuclear Research 141980 Dubna, Moscow region, Russia phone: +(496)2162589 (Office) phone: +7(915)4671294 (Mobile) email: jzamorasaa_at_jinr.ru ******************************************************************** El 03-01-2019 9:36 am, Francesc Salvat-Pujol escribió: > Dear Jilberto, > > $FLUPRO/flutil/rfluka -e ex08 (...) > > where (...) stands for whichever other options you normally pass and > the > input filename (without .inp). Check out > > $FLUPRO/flutil/rfluka -h > > for more explicit details. Don't worry about the "cannot remove > ex08.map". It probably just appears the first time you link your custom > binary. > > Cheers, > > Cesc > > On Mon, Dec 31 2018, at 11:06 -0300, Jilberto Antonio Zamora Saá wrote: >> >> Dear Cesc >> >> I already runned and I got the following output >> >> sirjazs_at_jilberto-Lenovo:~/fluka_work_DIR/test/Beam-Test/ex08$ >> $FLUPRO/flutil/lfluka -m fluka -o ex08 source.o >> $FLUPRO = /home/sirjazs/FLUKA >> now linking >> /home/sirjazs/FLUKA >> gfortran >> ar x /home/sirjazs/FLUKA/libflukahp.a fluka.o >> rm: cannot remove 'ex08.map': No such file or directory >> gfortran -msse2 -mfpmath=sse -fPIC -O3 -g -mtune=generic >> -fexpensive-optimizations -funroll-loops -fstrength-reduce -Wall >> -Wuninitialized -Wno-tabs -Wline-truncation -Wno-unused-function >> -Wno-unused-parameter -Wno-unused-dummy-argument -Wno-integer-division >> -Wno-unused-variable -Wno-conversion -Wunused-label -Waggregate-return >> -Wcast-align -Wsystem-headers -ftrapping-math -frange-check >> -fbackslash -fdump-core -fbacktrace -ffpe-trap=invalid,zero,overflow >> -finit-local-zero -ffixed-form -frecord-marker=4 -funderscoring >> -fno-automatic -fd-lines-as-comments -fbounds-check >> -I/home/sirjazs/FLUKA/flukapro -v -o ex08 -Xlinker -Map -Xlinker >> ex08.map fluka.o source.o -L/home/sirjazs/FLUKA -lflukahp >> Driving: gfortran -msse2 -mfpmath=sse -fPIC -O3 -g -mtune=generic >> -fexpensive-optimizations -funroll-loops -fstrength-reduce -Wall >> -Wuninitialized -Wno-tabs -Wline-truncation -Wno-unused-function >> -Wno-unused-parameter -Wno-unused-dummy-argument -Wno-integer-division >> -Wno-unused-variable -Wno-conversion -Wunused-label -Waggregate-return >> -Wcast-align -Wsystem-headers -ftrapping-math -frange-check >> -fbackslash -fdump-core -fbacktrace -ffpe-trap=invalid,zero,overflow >> -finit-local-zero -ffixed-form -frecord-marker=4 -funderscoring >> -fno-automatic -fd-lines-as-comments -fbounds-check >> -I/home/sirjazs/FLUKA/flukapro -v -o ex08 -Xlinker -Map -Xlinker >> ex08.map fluka.o source.o -L/home/sirjazs/FLUKA -lflukahp -l gfortran >> -l m -shared-libgcc >> Using built-in specs. >> COLLECT_GCC=gfortran >> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper >> OFFLOAD_TARGET_NAMES=nvptx-none >> OFFLOAD_TARGET_DEFAULT=1 >> Target: x86_64-linux-gnu >> Configured with: ../src/configure -v --with-pkgversion='Ubuntu >> 7.4.0-1ubuntu1~16.04~ppa1' >> --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs >> --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ >> --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 >> --program-prefix=x86_64-linux-gnu- --enable-shared >> --enable-linker-build-id --libexecdir=/usr/lib >> --without-included-gettext --enable-threads=posix --libdir=/usr/lib >> --enable-nls --with-sysroot=/ --enable-clocale=gnu >> --enable-libstdcxx-debug --enable-libstdcxx-time=yes >> --with-default-libstdcxx-abi=new --enable-gnu-unique-object >> --disable-vtable-verify --enable-libmpx --enable-plugin >> --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto >> --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 >> --with-multilib-list=m32,m64,mx32 --enable-multilib >> --with-tune=generic --enable-offload-targets=nvptx-none >> --without-cuda-driver --enable-checking=release >> --build=x86_64-linux-gnu --host=x86_64-linux-gnu >> --target=x86_64-linux-gnu >> Thread model: posix >> gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1) >> Reading specs from /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.spec >> rename spec lib to liborig >> COLLECT_GCC_OPTIONS='-msse2' '-mfpmath=sse' '-fPIC' '-O3' '-g' >> '-mtune=generic' '-fexpensive-optimizations' '-funroll-loops' '-Wall' >> '-Wuninitialized' '-Wno-tabs' '-Wline-truncation' >> '-Wno-unused-function' '-Wno-unused-parameter' >> '-Wno-unused-dummy-argument' '-Wno-integer-division' >> '-Wno-unused-variable' '-Wno-conversion' '-Wunused-label' >> '-Waggregate-return' '-Wcast-align' '-Wsystem-headers' >> '-ftrapping-math' '-frange-check' '-fbackslash' '-fbacktrace' >> '-ffpe-trap=invalid,zero,overflow' '-finit-local-zero' '-ffixed-form' >> '-frecord-marker=4' '-funderscoring' '-fno-automatic' >> '-fd-lines-as-comments' '-fbounds-check' '-I' >> '/home/sirjazs/FLUKA/flukapro' '-v' '-o' 'ex08' >> '-L/home/sirjazs/FLUKA' '-shared-libgcc' '-march=x86-64' >> COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/ >> LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/ >> COLLECT_GCC_OPTIONS='-msse2' '-mfpmath=sse' '-fPIC' '-O3' '-g' >> '-mtune=generic' '-fexpensive-optimizations' '-funroll-loops' '-Wall' >> '-Wuninitialized' '-Wno-tabs' '-Wline-truncation' >> '-Wno-unused-function' '-Wno-unused-parameter' >> '-Wno-unused-dummy-argument' '-Wno-integer-division' >> '-Wno-unused-variable' '-Wno-conversion' '-Wunused-label' >> '-Waggregate-return' '-Wcast-align' '-Wsystem-headers' >> '-ftrapping-math' '-frange-check' '-fbackslash' '-fbacktrace' >> '-ffpe-trap=invalid,zero,overflow' '-finit-local-zero' '-ffixed-form' >> '-frecord-marker=4' '-funderscoring' '-fno-automatic' >> '-fd-lines-as-comments' '-fbounds-check' '-I' >> '/home/sirjazs/FLUKA/flukapro' '-v' '-o' 'ex08' >> '-L/home/sirjazs/FLUKA' '-shared-libgcc' '-march=x86-64' >> /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin >> /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so >> -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper >> -plugin-opt=-fresolution=/tmp/ccJuBBpL.res >> -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc >> -plugin-opt=-pass-through=-lquadmath -plugin-opt=-pass-through=-lm >> -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc >> -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s >> -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr >> -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker >> /lib64/ld-linux-x86-64.so.2 -z relro -o ex08 >> /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o >> /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o >> /usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o -L/home/sirjazs/FLUKA >> -L/usr/lib/gcc/x86_64-linux-gnu/7 >> -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu >> -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib >> -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu >> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -Map >> ex08.map fluka.o source.o -lflukahp -lgfortran -lm -lgcc_s -lgcc >> -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc >> /usr/lib/gcc/x86_64-linux-gnu/7/crtend.o >> /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o >> COLLECT_GCC_OPTIONS='-msse2' '-mfpmath=sse' '-fPIC' '-O3' '-g' >> '-mtune=generic' '-fexpensive-optimizations' '-funroll-loops' '-Wall' >> '-Wuninitialized' '-Wno-tabs' '-Wline-truncation' >> '-Wno-unused-function' '-Wno-unused-parameter' >> '-Wno-unused-dummy-argument' '-Wno-integer-division' >> '-Wno-unused-variable' '-Wno-conversion' '-Wunused-label' >> '-Waggregate-return' '-Wcast-align' '-Wsystem-headers' >> '-ftrapping-math' '-frange-check' '-fbackslash' '-fbacktrace' >> '-ffpe-trap=invalid,zero,overflow' '-finit-local-zero' '-ffixed-form' >> '-frecord-marker=4' '-funderscoring' '-fno-automatic' >> '-fd-lines-as-comments' '-fbounds-check' '-I' >> '/home/sirjazs/FLUKA/flukapro' '-v' '-o' 'ex08' >> '-L/home/sirjazs/FLUKA' '-shared-libgcc' '-march=x86-64' >> >> >> The aforementioned command produces an executable file called "ex08", >> however, I do not know what I must do with this executable, can you >> give me some directions, please!!!! >> >> By the way, I'm worried by the line >> >> "rm: cannot remove 'ex08.map': No such file or directory" >> >> in the output, is this normal? >> >> >> regards, >> Jilberto >> --- >> ******************************************************************* >> Dr. Jilberto Zamora Saa >> Dzhelepov Laboratory of Nuclear Problems >> Joint Institute for Nuclear Research >> 141980 Dubna, Moscow region, Russia >> phone: +(496)2162589 (Office) >> phone: +7(915)4671294 (Mobile) >> email: jzamorasaa_at_jinr.ru >> >> ******************************************************************** >> >> El 20-12-2018 8:20 pm, Francesc Salvat-Pujol escribió: >>> Dear Jilberto, >>> >>> I replicated your situation in a virtual machine. It appears like in >>> Ubuntu 16.04 (LTS) there are a few interesting/known things: >>> >>> - /usr/bin/awk points to /etc/alternatives/awk which points to mawk >>> - /bin/sh points to dash instead of bash >>> >>> mawk is lacking features of awk (hence the first awk error you saw), >>> and dash is lacking features of bash (hence the second error messages >>> you saw). >>> >>> The solution below is probably substandard but it seems to work and >>> will >>> allow you to get past the errors. Assuming you are running on a >>> laptop >>> that you can manage at will: >>> >>> - sudo update-alternatives --config awk >>> >>> This should allow you to select gawk instead of mawk. If you do not >>> see gawk listed, do "sudo apt install gawk" >>> >>> - sudo dpkg-reconfigure dash >>> >>> It will ask if you want dash as default system shell. Tell it "no". >>> This last step is considered potentially "dangerous". In >>> https://wiki.ubuntu.com/DashAsBinSh >>> they are conservative enough and warn there can be a (low) chance >>> that some system script relies on some specific feature of dash vs >>> bash... If you spot anything weird, revert as needed. Keep a >>> healthy >>> backup anyway. >>> >>> Cheers, >>> >>> Cesc >>> >>> On Thu, Dec 20 2018, at 15:56 -0300, Jilberto Antonio Zamora Saá >>> wrote: >>>> >>>> Dear Cesc >>>> >>>> Yeah, Im using Ubuntu 16.04. >>>> >>>> I got the following outputs >>>> >>>> sirjazs_at_LENOVO:~$ ls -l $(which awk) >>>> lrwxrwxrwx 1 root root 21 nov 16 11:35 /usr/bin/awk -> >>>> /etc/alternatives/awk >>>> sirjazs_at_LENOVO:~$ ls -l /usr/bin/*awk* >>>> lrwxrwxrwx 1 root root 21 nov 16 11:35 /usr/bin/awk -> >>>> /etc/alternatives/awk >>>> -rwxr-xr-x 1 root root 117768 mar 24 2014 /usr/bin/mawk >>>> lrwxrwxrwx 1 root root 22 nov 16 11:35 /usr/bin/nawk -> >>>> /etc/alternatives/nawk >>>> sirjazs_at_LENOVO:~$ ls -l /bin/*awk* >>>> ls: cannot access '/bin/*awk*': No such file or directory >>>> >>>> I will update my OS to ubuntu 18.04 and see what happend. >>>> >>>> cheers, >>>> Jilberto >>>> >>>> >>>> >>>> --- >>>> ******************************************************************* >>>> Dr. Jilberto Zamora Saa >>>> Dzhelepov Laboratory of Nuclear Problems >>>> Joint Institute for Nuclear Research >>>> 141980 Dubna, Moscow region, Russia >>>> phone: +(496)2162589 (Office) >>>> phone: +7(915)4671294 (Mobile) >>>> email: jzamorasaa_at_jinr.ru >>>> >>>> ******************************************************************** >>>> >>>> El 20-12-2018 3:47 pm, Francesc Salvat-Pujol escribió: >>>>> Hey Jilberto, >>>>> >>>>> It could be that your linux distribution is using some interesting >>>>> flavor of awk. Just for curiosity: are you running Ubuntu? If >>>>> so, which >>>>> version? Could you paste the output of >>>>> >>>>> ls -l $(which awk) >>>>> ls -l /usr/bin/*awk* >>>>> ls -l /bin/*awk* >>>>> >>>>> Are you using the latest FLUKA tarball (i.e. downloaded after Nov >>>>> 22 >>>>> 2018 from the FLUKA website)? If not, update. In the >>>>> not-too-distant >>>>> past we spotted a similar situation and we protected the scripts >>>>> accordingly. Should the problem persist, let us know (and if you >>>>> are >>>>> linking the gfortran version of FLUKA paste also the output of >>>>> "gfortran --version"). >>>>> >>>>> Season greetings, >>>>> >>>>> Cesc >>>>> >>>>> On Thu, Dec 20 2018, at 13:55 -0300, Jilberto Antonio Zamora Saá >>>>> wrote: >>>>>> >>>>>> Dear Francesc >>>>>> >>>>>> I have tried to run examples that I found in previous fluka >>>>>> courses, >>>>>> however when I tryed to compile the source I got the following >>>>>> message: >>>>>> >>>>>> sirjazs_at_LENOVO:~/fluka-work/Beam-Test/ex08$ $FLUPRO/flutil/fff >>>>>> source.f >>>>>> awk: line 0: regular expression compile failed (missing '(') >>>>>> ) >>>>>> /home/sirjazs/FLUKA/flutil/fff: 105: [: -le: unexpected operator >>>>>> /home/sirjazs/FLUKA/flutil/fff: 119: >>>>>> /home/sirjazs/FLUKA/flutil/fff: >>>>>> [[: not found >>>>>> sirjazs_at_LENOVO:~/fluka-work/Beam-Test/ex08$ >>>>>> >>>>>> >>>>>> the files that I'm using are attached :-) >>>>>> >>>>>> >>>>>> Do you have any idea about what it is happening? >>>>>> >>>>>> >>>>>> saludos, >>>>>> Jilberto >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --- >>>>>> ******************************************************************* >>>>>> Dr. Jilberto Zamora Saa >>>>>> Dzhelepov Laboratory of Nuclear Problems >>>>>> Joint Institute for Nuclear Research >>>>>> 141980 Dubna, Moscow region, Russia >>>>>> phone: +(496)2162589 (Office) >>>>>> phone: +7(915)4671294 (Mobile) >>>>>> email: jzamorasaa_at_jinr.ru >>>>>> >>>>>> ******************************************************************** >>>>>> >>>>>> El 09-11-2018 5:48 pm, Francesc Salvat-Pujol escribió: >>>>>>> Hola Jilberto, >>>>>>> >>>>>>> For inspiration you may first want to examine a slightly simpler >>>>>>> 1D >>>>>>> case >>>>>>> (sampling from a tabulated energy spectrum), as shown e.g. in >>>>>>> >>>>>>> http://www.fluka.org/web_archive/earchive/new-fluka-discuss/6798.html >>>>>>> >>>>>>> which contains an example spectrum and a custom source.f >>>>>>> routine that >>>>>>> samples from it. Note also the modification of the input file >>>>>>> mentioned >>>>>>> in the link. If you make a diff (or e.g. vim -d) with the >>>>>>> distributed >>>>>>> source.f (under usermvax/ in your FLUKA directory) you will see >>>>>>> the >>>>>>> modifications. In a nutshell, there is: >>>>>>> >>>>>>> - a block that loads a source spectrum from the provided file at >>>>>>> initialization and prepares a cumulative function for sampling >>>>>>> later, >>>>>>> >>>>>>> - a block which samples the kinetic energy from the histogram and >>>>>>> >>>>>>> - a block which carefully sets the sampled kinetic energy and >>>>>>> calculates the modulus of the linear momentum (of course with the >>>>>>> relativistic expression). >>>>>>> >>>>>>> You then compile your custom source.f >>>>>>> >>>>>>> $FLUPRO/flutil/fff source.f >>>>>>> >>>>>>> If there are no errors, this produces an object file which you >>>>>>> then >>>>>>> bundle into your custom binary. >>>>>>> >>>>>>> $FLUPRO/flutil/lfluka -m fluka -o tuejecutable source.o >>>>>>> >>>>>>> Depending on what you do, link with ldpmqmd (see the >>>>>>> manual). Run as >>>>>>> usual, but passing "-e tuejecutable" additionally. >>>>>>> >>>>>>> If I follow you correctly, you need instead to sample from a >>>>>>> tabulated >>>>>>> 2D distribution h(E,theta), given in terms of the energy E and a >>>>>>> (polar?) angle theta. So it's a slight generalization of the >>>>>>> foregoing. >>>>>>> Stay alert for the integrals and the sampling of the polar >>>>>>> angle (see >>>>>>> below). >>>>>>> >>>>>>> I assume that the theta dependency is not trivial, i.e., that >>>>>>> you have >>>>>>> sufficiently different behaviors in theta at different energies >>>>>>> (otherwise the stuff below can be greatly simplified...). >>>>>>> >>>>>>> Presumably you have h(E,theta) tabulated on a reasonably dense >>>>>>> grid of >>>>>>> energies E_i and angles theta_j. On paper, at each tabular >>>>>>> energy you >>>>>>> would do an integration on the sphere (azimuthal angle aside), à >>>>>>> la >>>>>>> >>>>>>> g(E_i) = \int_0^pi d theta sin(theta) h(E_i,theta) , >>>>>>> >>>>>>> so that g(E) gives you an energy distribution regardless of angle >>>>>>> (treated below). In practice you evaluate it numerically in as >>>>>>> reasonable a way as you can, but in any event not forgetting >>>>>>> about the >>>>>>> solid-angle element. In the same spirit as in the 1D case >>>>>>> above, you >>>>>>> may >>>>>>> now use the tabulated g(E_i) to generate a cumulative >>>>>>> distribution for >>>>>>> the sampling of the kinetic energy. >>>>>>> >>>>>>> Once you have a sampled kinetic energy Esampled, you look for the >>>>>>> "active" tabular interval verifying E_i <= Esampled < >>>>>>> E_{i+1}. Use a >>>>>>> homogeneously distributed random number (search in the manual for >>>>>>> FLRNDM) to take E_i with probability >>>>>>> (E_{i+1}-Esampled)/(E_{i+1}-E_i), >>>>>>> and E_{i+1} otherwise (I do not write down exactly how >>>>>>> because every >>>>>>> time I get it wrong, but the idea is along these lines...). >>>>>>> >>>>>>> At each tabular energy E_i, you can keep the cumulative angular >>>>>>> distribution in memory (do not forget the solid-angle element >>>>>>> when >>>>>>> integrating...) and use it to sample the polar angle in exactly >>>>>>> the >>>>>>> same >>>>>>> spirit as above. It then remains to sample the azimuthal angle. >>>>>>> Unless >>>>>>> you have something else in mind, you can sample e.g. >>>>>>> homogeneously in >>>>>>> [0,2pi). With this you have all you need to set the initial >>>>>>> direction in >>>>>>> your source.f in terms of the director cosines using the >>>>>>> variables >>>>>>> TXFLK, TYFLK, TZFLK. >>>>>>> >>>>>>> =============================================== >>>>>>> *************** WARNING... ******************** >>>>>>> =============================================== >>>>>>> >>>>>>> Things can go wrong when setting up schemes like the above >>>>>>> by hand... >>>>>>> Debug and test intensively before running any simulation. Make >>>>>>> e.g. >>>>>>> a 2D >>>>>>> histogram of the sampled energies and angles and convince >>>>>>> yourself that >>>>>>> you are indeed sampling what was intended. >>>>>>> >>>>>>> As a final note, I do not know what degrees of freedom you have >>>>>>> in >>>>>>> preparing the input 2D source histogram, but any time >>>>>>> there's a polar >>>>>>> angle theta involved, a way to sleep well is to tabulate, >>>>>>> integrate, >>>>>>> and >>>>>>> sample in terms of mu=cos(theta). Doing the change of variables >>>>>>> you >>>>>>> immediately see e.g. >>>>>>> >>>>>>> g(E_i) = \int_{-1}^1 d mu h(E_i,mu) , >>>>>>> >>>>>>> that is, the term "sin(theta) d theta" in the solid-angle element >>>>>>> becomes trivially "d mu" and you can mostly forget about >>>>>>> faux pas :) >>>>>>> >>>>>>> Hope this is reasonably helpful/accurate! >>>>>>> >>>>>>> Un saludo, >>>>>>> >>>>>>> Cesc >>>>>>> >>>>>>> PS: scoring-wise, there should be nothing special. >>>>>>> >>>>>>> On Fri, Nov 09 2018, at 12:17 -0300, jilberto Zamora Saa wrote: >>>>>>>> >>>>>>>> Dear FLUKA experts, >>>>>>>> >>>>>>>> How I should do in case I want to define my own beam of >>>>>>>> particles, >>>>>>>> let say, I would like to provide a spectrum of muons which >>>>>>>> depend >>>>>>>> on energy and Zenit angle and then use it to see the fluence in >>>>>>>> a >>>>>>>> detector. >>>>>>>> >>>>>>>> any help is welcome >>>>>>>> >>>>>>>> regards, >>>>>>>> Jilberto >>>>>>> >>>>>>> -- >>>>>>> Francesc Salvat Pujol >>>>>>> CERN-EN/STI >>>>>>> CH-1211 Geneva 23 >>>>>>> Switzerland >>>>>>> Tel: +41 22 76 64011 >>>>>>> Fax: +41 22 76 69474 >>>>> >>>>>> * >>>>>> ..+....1....+....2....+....3....+....4....+....5....+....6....+....7... >>>>>> TITLE >>>>>> FLUKA Course Exercise >>>>>> * >>>>>> * use names everywhere and free format for geometry >>>>>> DEFAULTS >>>>>> NEW-DEFA >>>>>> * >>>>>> * beam definitions >>>>>> BEAM -3.5 -0.082425 -1.7 0.0 0.0 >>>>>> 1.0PROTON >>>>>> BEAMPOS 0.0 0.0 -0.1 0.0 0.0 >>>>>> GEOBEGIN >>>>>> COMBNAME >>>>>> 0 0 Cylindrical Target >>>>>> * >>>>>> * Bodies >>>>>> * ------ >>>>>> * >>>>>> * General definitions: >>>>>> * blackhole to include geometry >>>>>> SPH BLK 0.0 0.0 0.0 10000.0 >>>>>> * void >>>>>> RPP VOI -1000.0 1000.0 -1000.0 1000.0 -1000.0 1000.0 >>>>>> * >>>>>> * Lead target: >>>>>> * cylinder to contain target >>>>>> ZCC TARG 0.0 0.0 5.0 >>>>>> * planes limiting the target >>>>>> XYP ZTlow 0.0 >>>>>> XYP ZThigh 10.0 >>>>>> * planes segmenting the target >>>>>> XYP T1seg 1.0 >>>>>> XYP T2seg 2.0 >>>>>> END >>>>>> * >>>>>> * Regions >>>>>> * ------- >>>>>> * >>>>>> * Blackhole >>>>>> BLKHOLE 5 +BLK -VOI >>>>>> * >>>>>> * Target segment 1 >>>>>> TARGS1 5 +TARG -ZTlow +T1seg >>>>>> * Target segment 2 >>>>>> TARGS2 5 +TARG -T1seg +T2seg >>>>>> * Target segment 3 >>>>>> TARGS3 5 +TARG -T2seg +ZThigh >>>>>> * >>>>>> * Air around target >>>>>> INAIR 5 +VOI -( +TARG -ZTlow +ZThigh ) >>>>>> END >>>>>> GEOEND >>>>>> #if 0 >>>>>> * >>>>>> ..+....1....+....2....+....3....+....4....+....5....+....6....+....7... >>>>>> * switch on to debug this geometry >>>>>> GEOEND 6.0 0.0 11.0 -6.0 0.0 >>>>>> -6.0DEBUG >>>>>> GEOEND 120.0 1.0 170.0 >>>>>> & >>>>>> #endif >>>>>> * >>>>>> * material definitions >>>>>> MATERIAL 1.0 >>>>>> WATER >>>>>> COMPOUND 2.0 HYDROGEN 1.0 OXYGEN >>>>>> WATER >>>>>> MATERIAL 0.001225 >>>>>> AIR >>>>>> COMPOUND -0.9256 NITROGEN -0.2837 OXYGEN -0.01572 >>>>>> ARGONAIR >>>>>> ASSIGNMA BLCKHOLE BLKHOLE >>>>>> ASSIGNMA WATER TARGS1 >>>>>> ASSIGNMA ALUMINUM TARGS2 >>>>>> ASSIGNMA LEAD TARGS3 >>>>>> ASSIGNMA AIR INAIR >>>>>> * >>>>>> * >>>>>> ..+....1....+....2....+....3....+....4....+....5....+....6....+....7... >>>>>> * >>>>>> * scoring >>>>>> * >>>>>> * target: energy deposition and fluence >>>>>> USRBIN 11.0 ENERGY -40.0 10.0 0.0 >>>>>> 15.0TargEne >>>>>> USRBIN 0.0 0.0 -5.0 100.0 1.0 >>>>>> 200.0& >>>>>> USRBIN 11.0 HAD-CHAR -40.0 10.0 0.0 >>>>>> 15.0TargChH >>>>>> USRBIN 0.0 0.0 -5.0 100.0 1.0 >>>>>> 200.0& >>>>>> USRBIN 11.0 NEUTRON -40.0 10.0 0.0 >>>>>> 15.0TargN >>>>>> USRBIN 0.0 0.0 -5.0 100.0 1.0 >>>>>> 200.0& >>>>>> * >>>>>> * charged hadron fluence at boundaries between target segments >>>>>> USRBDX 99.0 HAD-CHAR -50.0 TARGS1 TARGS2 >>>>>> 78.5398Sp1ChH >>>>>> USRBDX 10.0 0.001 40.0 >>>>>> & >>>>>> USRBDX 99.0 HAD-CHAR -50.0 TARGS2 TARGS3 >>>>>> 78.5398Sp2ChH >>>>>> USRBDX 10.0 0.001 40.0 >>>>>> & >>>>>> * charged hadron fluence exiting lead target >>>>>> USRBDX 99.0 HAD-CHAR -50.0 TARGS3 INAIR >>>>>> 329.87Sp3ChH >>>>>> USRBDX 10.0 0.001 40.0 >>>>>> & >>>>>> * double-differential charged hadron fluence entering lead target >>>>>> USRBDX 99.0 HAD-CHAR -54.0 TARGS2 TARGS3 >>>>>> 78.5398Sp2ChHA >>>>>> USRBDX 10.0 0.001 40.0 >>>>>> 3.0& >>>>>> * charged hadron fluence in lead target >>>>>> USRTRACK -1.0 HAD-CHAR -55.0 TARGS3 628.31 >>>>>> 40.0TrChH >>>>>> USRTRACK 10.0 0.001 >>>>>> & >>>>>> * >>>>>> * charged pion angular distribution exiting lead target >>>>>> USRYIELD 124.0 PIONS+- -57.0 TARGS3 INAIR >>>>>> 1.0YieAng >>>>>> USRYIELD 180.0 0.0 18.0 10.0 0.0 >>>>>> 3.0& >>>>>> * >>>>>> * residual nuclei in lead target >>>>>> RESNUCLE 3.0 -60.0 TARGS3 >>>>>> activ >>>>>> * >>>>>> * Exercise: scoring >>>>>> * ----------------- >>>>>> * >>>>>> * electron spectra, see difference between current and fluence >>>>>> scoring >>>>>> USRBDX 99.0 E+&E- -51.0 TARGS2 TARGS3 >>>>>> 78.5398Sp2El >>>>>> USRBDX 10.0 0.001 40.0 >>>>>> & >>>>>> USRBDX -1.0 E+&E- -52.0 TARGS2 TARGS3 >>>>>> 78.5398Sp2ElC >>>>>> USRBDX 10.0 0.001 40.0 >>>>>> & >>>>>> * >>>>>> * energy deposition by region, check with values in the output >>>>>> USRBIN 2.0 ENERGY 41.0 TARGS3 >>>>>> TbyReg >>>>>> USRBIN TARGS1 1.0 >>>>>> & >>>>>> * >>>>>> * energy deposited by electrons only >>>>>> USRBIN 2.0 ENERGY 42. TARGS3 >>>>>> TbyRegE >>>>>> USRBIN TARGS1 1.0 >>>>>> & >>>>>> AUXSCORE USRBIN ELECTRON TbyRegE >>>>>> RANDOMIZ 1.0 >>>>>> START 1000.0 0.0 >>>>>> STOP >>>>> >>>>>> *$ CREATE SOURCE.FOR >>>>>> *COPY SOURCE >>>>>> * >>>>>> *=== source >>>>>> ===========================================================* >>>>>> * >>>>>> SUBROUTINE SOURCE ( NOMORE ) >>>>>> >>>>>> INCLUDE '(DBLPRC)' >>>>>> INCLUDE '(DIMPAR)' >>>>>> INCLUDE '(IOUNIT)' >>>>>> * >>>>>> *----------------------------------------------------------------------* >>>>>> * >>>>>> * >>>>>> * Copyright (C) 1990-2006 by Alfredo Ferrari & Paola >>>>>> Sala * >>>>>> * All Rights Reserved. >>>>>> * >>>>>> * >>>>>> * >>>>>> * >>>>>> * >>>>>> * New source for FLUKA9x-FLUKA200x: >>>>>> * >>>>>> * >>>>>> * >>>>>> * Created on 07 january 1990 by Alfredo Ferrari & Paola >>>>>> Sala * >>>>>> * Infn - Milan >>>>>> * >>>>>> * >>>>>> * >>>>>> * Last change on 03-mar-06 by Alfredo Ferrari >>>>>> * >>>>>> * >>>>>> * >>>>>> * This is just an example of a possible user written source >>>>>> routine. * >>>>>> * note that the beam card still has some meaning - in the scoring >>>>>> the * >>>>>> * maximum momentum used in deciding the binning is taken from the >>>>>> * >>>>>> * beam momentum. Other beam card parameters are obsolete. >>>>>> * >>>>>> * >>>>>> * >>>>>> *----------------------------------------------------------------------* >>>>>> * >>>>>> INCLUDE '(BEAMCM)' >>>>>> INCLUDE '(FHEAVY)' >>>>>> INCLUDE '(FLKSTK)' >>>>>> INCLUDE '(IOIOCM)' >>>>>> INCLUDE '(LTCLCM)' >>>>>> INCLUDE '(PAPROP)' >>>>>> INCLUDE '(SOURCM)' >>>>>> INCLUDE '(SUMCOU)' >>>>>> * >>>>>> LOGICAL LFIRST >>>>>> * >>>>>> c defining and saving spectrum arrays >>>>>> DIMENSION ENEPOI(0:1000),ENEPRO(0:1000),ENECUM(0:1000) >>>>>> SAVE ENEPOI, ENEPRO, ENECUM >>>>>> c saving spectrum dimension >>>>>> SAVE IMAX >>>>>> * >>>>>> SAVE LFIRST >>>>>> DATA LFIRST / .TRUE. / >>>>>> *======================================================================* >>>>>> * >>>>>> * >>>>>> * BASIC VERSION >>>>>> * >>>>>> * >>>>>> * >>>>>> *======================================================================* >>>>>> NOMORE = 0 >>>>>> * >>>>>> +-------------------------------------------------------------------* >>>>>> * | First call initializations: >>>>>> IF ( LFIRST ) THEN >>>>>> * | *** The following 3 cards are mandatory *** >>>>>> TKESUM = ZERZER >>>>>> LFIRST = .FALSE. >>>>>> LUSSRC = .TRUE. >>>>>> * | *** User initialization *** >>>>>> END IF >>>>>> * | >>>>>> * >>>>>> +-------------------------------------------------------------------* >>>>>> * Push one source particle to the stack. Note that you could >>>>>> as well >>>>>> * push many but this way we reserve a maximum amount of space >>>>>> in the >>>>>> * stack for the secondaries to be generated >>>>>> * Npflka is the stack counter: of course any time source is >>>>>> called it >>>>>> * must be =0 >>>>>> NPFLKA = NPFLKA + 1 >>>>>> * Wt is the weight of the particle >>>>>> WTFLK (NPFLKA) = ONEONE >>>>>> WEIPRI = WEIPRI + WTFLK (NPFLKA) >>>>>> * Particle type (1=proton.....). Ijbeam is the type set by the >>>>>> BEAM >>>>>> * card >>>>>> * >>>>>> +-------------------------------------------------------------------* >>>>>> * | (Radioactive) isotope: >>>>>> IF ( IJBEAM .EQ. -2 .AND. LRDBEA ) THEN >>>>>> IARES = IPROA >>>>>> IZRES = IPROZ >>>>>> IISRES = IPROM >>>>>> CALL STISBM ( IARES, IZRES, IISRES ) >>>>>> IJHION = IPROZ * 1000 + IPROA >>>>>> IJHION = IJHION * 100 + KXHEAV >>>>>> IONID = IJHION >>>>>> CALL DCDION ( IONID ) >>>>>> CALL SETION ( IONID ) >>>>>> * | >>>>>> * >>>>>> +-------------------------------------------------------------------* >>>>>> * | Heavy ion: >>>>>> ELSE IF ( IJBEAM .EQ. -2 ) THEN >>>>>> IJHION = IPROZ * 1000 + IPROA >>>>>> IJHION = IJHION * 100 + KXHEAV >>>>>> IONID = IJHION >>>>>> CALL DCDION ( IONID ) >>>>>> CALL SETION ( IONID ) >>>>>> ILOFLK (NPFLKA) = IJHION >>>>>> * | Flag this is prompt radiation >>>>>> LRADDC (NPFLKA) = .FALSE. >>>>>> * | >>>>>> * >>>>>> +-------------------------------------------------------------------* >>>>>> * | Normal hadron: >>>>>> ELSE >>>>>> IONID = IJBEAM >>>>>> ILOFLK (NPFLKA) = IJBEAM >>>>>> * | Flag this is prompt radiation >>>>>> LRADDC (NPFLKA) = .FALSE. >>>>>> END IF >>>>>> * | >>>>>> * >>>>>> +-------------------------------------------------------------------* >>>>>> * From this point ..... >>>>>> * Particle generation (1 for primaries) >>>>>> LOFLK (NPFLKA) = 1 >>>>>> * User dependent flag: >>>>>> LOUSE (NPFLKA) = 0 >>>>>> * User dependent spare variables: >>>>>> DO 100 ISPR = 1, MKBMX1 >>>>>> SPAREK (ISPR,NPFLKA) = ZERZER >>>>>> 100 CONTINUE >>>>>> * User dependent spare flags: >>>>>> DO 200 ISPR = 1, MKBMX2 >>>>>> ISPARK (ISPR,NPFLKA) = 0 >>>>>> 200 CONTINUE >>>>>> * Save the track number of the stack particle: >>>>>> ISPARK (MKBMX2,NPFLKA) = NPFLKA >>>>>> NPARMA = NPARMA + 1 >>>>>> NUMPAR (NPFLKA) = NPARMA >>>>>> NEVENT (NPFLKA) = 0 >>>>>> DFNEAR (NPFLKA) = +ZERZER >>>>>> * ... to this point: don't change anything >>>>>> * Particle age (s) >>>>>> AGESTK (NPFLKA) = +ZERZER >>>>>> AKNSHR (NPFLKA) = -TWOTWO >>>>>> * Group number for "low" energy neutrons, set to 0 anyway >>>>>> IGROUP (NPFLKA) = 0 >>>>>> c sampling uniformly between 30 and 70 MeV >>>>>> XYZ=FLRNDM(XYZ) >>>>>> ESAMPLE=3D-2+XYZ*(4D-2) >>>>>> * Kinetic energy of the particle (GeV) >>>>>> TKEFLK (NPFLKA) = ESAMPLE >>>>>> * Particle momentum >>>>>> PMOFLK (NPFLKA) = SQRT ( TKEFLK (NPFLKA) * ( TKEFLK (NPFLKA) >>>>>> & + TWOTWO * AM (IONID) ) ) >>>>>> * Cosines (tx,ty,tz) >>>>>> TXFLK (NPFLKA) = UBEAM >>>>>> TYFLK (NPFLKA) = VBEAM >>>>>> TZFLK (NPFLKA) = WBEAM >>>>>> * TZFLK (NPFLKA) = SQRT ( ONEONE - TXFLK (NPFLKA)**2 >>>>>> * & - TYFLK (NPFLKA)**2 ) >>>>>> * Polarization cosines: >>>>>> TXPOL (NPFLKA) = -TWOTWO >>>>>> TYPOL (NPFLKA) = +ZERZER >>>>>> TZPOL (NPFLKA) = +ZERZER >>>>>> * Particle coordinates >>>>>> XFLK (NPFLKA) = XBEAM >>>>>> YFLK (NPFLKA) = YBEAM >>>>>> ZFLK (NPFLKA) = ZBEAM >>>>>> * Calculate the total kinetic energy of the primaries: don't >>>>>> change >>>>>> IF ( ILOFLK (NPFLKA) .EQ. -2 .OR. ILOFLK (NPFLKA) .GT. 100000 ) >>>>>> & THEN >>>>>> TKESUM = TKESUM + TKEFLK (NPFLKA) * WTFLK (NPFLKA) >>>>>> ELSE IF ( ILOFLK (NPFLKA) .NE. 0 ) THEN >>>>>> TKESUM = TKESUM + ( TKEFLK (NPFLKA) + AMDISC >>>>>> (ILOFLK(NPFLKA)) ) >>>>>> & * WTFLK (NPFLKA) >>>>>> ELSE >>>>>> TKESUM = TKESUM + TKEFLK (NPFLKA) * WTFLK (NPFLKA) >>>>>> END IF >>>>>> RADDLY (NPFLKA) = ZERZER >>>>>> * Here we ask for the region number of the hitting point. >>>>>> * NREG (NPFLKA) = ... >>>>>> * The following line makes the starting region search much more >>>>>> * robust if particles are starting very close to a boundary: >>>>>> CALL GEOCRS ( TXFLK (NPFLKA), TYFLK (NPFLKA), TZFLK (NPFLKA) ) >>>>>> CALL GEOREG ( XFLK (NPFLKA), YFLK (NPFLKA), ZFLK (NPFLKA), >>>>>> & NRGFLK(NPFLKA), IDISC ) >>>>>> * Do not change these cards: >>>>>> CALL GEOHSM ( NHSPNT (NPFLKA), 1, -11, MLATTC ) >>>>>> NLATTC (NPFLKA) = MLATTC >>>>>> CMPATH (NPFLKA) = ZERZER >>>>>> CALL SOEVSV >>>>>> RETURN >>>>>> *=== End of subroutine Source >>>>>> =========================================* >>>>>> END >>>>> >>>>> >>>>> -- >>>>> Francesc Salvat Pujol >>>>> CERN-EN/STI >>>>> CH-1211 Geneva 23 >>>>> Switzerland >>>>> Tel: +41 22 76 64011 >>>>> Fax: +41 22 76 69474 >>>> >>>> __________________________________________________________________________ >>>> You can manage unsubscription from this mailing list at >>>> https://www.fluka.org/fluka.php?id=acc_info >>>> >>> >>> -- >>> Francesc Salvat Pujol >>> CERN-EN/STI >>> CH-1211 Geneva 23 >>> Switzerland >>> Tel: +41 22 76 64011 >>> Fax: +41 22 76 69474 >>> >>> __________________________________________________________________________ >>> You can manage unsubscription from this mailing list at >>> https://www.fluka.org/fluka.php?id=acc_info >> >> __________________________________________________________________________ >> You can manage unsubscription from this mailing list at >> https://www.fluka.org/fluka.php?id=acc_info >> > > -- > Francesc Salvat Pujol > CERN-EN/STI > CH-1211 Geneva 23 > Switzerland > Tel: +41 22 76 64011 > Fax: +41 22 76 69474 > > __________________________________________________________________________ > You can manage unsubscription from this mailing list at > https://www.fluka.org/fluka.php?id=acc_info
This archive was generated by hypermail 2.3.0 : Thu Jan 03 2019 - 22:28:32 CET