Aplikacija PHITS (engl. Particle and Heavy Ion Transport code System) simulacijski je kod Monte Carlo transporta iona opće namjene. Izračunava transporte svih čestica širokog energetskog ranga koristeći knjižnice nuklearnih podataka i različite modele nuklearnih reakcija. Namijenjen je za područja povezana s fenomenom transporta čestica i teških iona, radioterapije, kozmičkog zračenja i sl.
Na računalnom klasteru Isabella PHITS je kompajliran s Fortran kompajlerima te koristi Open MPI knjižnice. Podržava serijsko i paralelno izvođenje poslova, odnosno izvođenje na jednojezgrenim i višejezgrenim procesorima.
Moduli
Moduli koji dopremaju PHITS u Vašu okolinu definirani su u tablici niže:
Verzija | Modul | Kompajler | Izvršna datoteka |
3.290 | phits/3.290 | GNU | phits_LinGfort_MPI |
3.31 | phits/3.31 | Intel | phits_LinIfort_MPI |
3.33 | phits/3.33 | Intel | phits_LinIfort_MPI |
Primjer korištenja
Primjer serijskog korištenja
#!/bin/bash #$ -N phits #$ -cwd module load phits/3.290 phits_LinGfort_MPI phits.in
Primjer paralelnog korištenja
#!/bin/bash #$ -N phits #$ -cwd #$ -pe *mpi 4 module load phits/3.290 mpirun -np ${NSLOTS} phits_LinGfort_MPI phits.in
Primjer input datoteke
U PHITS verziji 3.31 ne treba koristiti liniju koja definira PHITS root direktorij:
file(1) = /apps/phits/3.290/phits # PHITS install folder name
[ T i t l e ] minimized input file [ P a r a m e t e r s ] icntl = 0 # (D=0) 3:ECH 5:NOR 6:SRC 7,8:GSH 11:DSH 12:DUMP maxcas = 50 # (D=10) number of particles per one batch maxbch = 2 # (D=10) number of batches file(1) = /apps/phits/3.290/phits # PHITS install folder name file(6) = phits.out # general output file name [ S o u r c e ] s-type = 1 # mono-energetic axial source proj = proton # kind of incident particle dir = 1.0 # z-direction of beam [cosine] r0 = 0. # radius [cm] z0 = 0. # minimum position of z-axis [cm] z1 = 0. # maximum position of z-axis [cm] e0 = 150. # energy of beam [MeV/u] [ M a t e r i a l ] mat[1] H 2 O 1 [ S u r f a c e ] 10 so 10. [ C e l l ] 100 1 -1.0 -10 101 -1 10 [ T - T r a c k ] mesh = xyz # mesh type is xyz scoring mesh x-type = 2 # x-mesh is linear given by xmin, xmax and nx nx = 200 # number of x-mesh points xmin = -20. # minimum value of x-mesh points xmax = 20. # maximum value of x-mesh points y-type = 1 # y-mesh is given by the below data ny = 1 # number of y-mesh points -5.0 5.0 z-type = 2 # z-mesh is linear given by zmin, zmax and nz nz = 200 # number of z-mesh points zmin = -20. # minimum value of z-mesh points zmax = 20. # maximum value of z-mesh points t-type = 2 # t-mesh is linear given by tmin, tmax and nt nt = 1 # number of t-mesh points tmin = 0.0 # minimum value of t-mesh points tmax = 1.0 # maximum value of t-mesh points part = all e-type = 1 # e-mesh is given by the below data ne = 1 # number of e-mesh points 0.0 1000.0 unit = 1 # unit is [1/cm^2/source] axis = xz # axis of output file = track_xz.out # file name of output for the above axis title = Track Detection using [T-track] tally gshow = 3 # 0: no 1:bnd, 2:bnd+mat, 3:bnd+reg 4:bnd+lat epsout = 1 # (D=0) generate eps file by ANGEL [ E n d ]
Praktični primjer
Simulacija čestičnog toka oko cilindričnog spremnika vode ozračenog protonskom zrakom energije 290 MeV
PHITS simulira kretanje čestice koristeći Monte Carlo metodu te predviđa njezino ponašanje omogućujući izračun različitih kvantitativnih vrijednosti poput fluksa i depozicije energije u određenoj regiji.
Osnovne komponente input datoteke su geometrija, izvor i raboš (engl. tally). Geometrija se definira sekcijama 'materijal', 'površina' i 'ćelija', dok je izvor okarakteriziran oblikom, vrstom, energijom i pravcem kretanja čestice. Raboš se koristi za izračun kvantitativnih vrijednosti tijekom kalkulacije radijacije transporta. Geometrija u 3D virtualnom prostoru (ćelija definirana u Kartezijevom koordinatnom sustavu) te informacije o izvoru čestice krucijalni su elementi izračuna kvantitativnih vrijednosti tih čestica. Za nedvosmisleno određivanje sekcije 'raboš', potrebno je specificirati koja se vrijednost određuje, gdje, za koju česticu, u kojoj mjernoj jedinici te u kojem se obliku output datoteke rezultat ispisuje.
U sekciji izvor definiran je oblik cilindra, dok je čestica proton sa zadanim dimenzijama, smjerom kretanja i energijom u MeV/u. 3D geometrija definira se materijalom i površinom ćelije u sekciji 'ćelija'. Primjer je vodena ćelija rednog broja '100' gustoće 1 gcm-3 oblika sfere koja je centrirana na izvoru XYZ koordinatnog sustava s promjerom od 10 cm. Prostor oko sfere pripada drugoj ćeliji rednog broja '101', a definira se kao vanjska praznina bez zadane gustoće. Duljina prolaza (engl. track length) evaluira se prilikom prolaska čestice određenom regijom te se suma prolazaka skalira. Dijeljenjem skalirane duljine prolaza s volumenom regije i brojem čestica izvora dobiva se tok u 1/cm2/izvor. Skaliranje se vrši pomoću XYZ mreže koja je zadana parametrima x, y, z, t (vrijeme) i e (energija) koji su definirani svojim minimumom, maksimumom i brojem točki koje čine mrežu. Parametrom 'epsout' zadan je ouput u obliku eps datoteke.
Slika 1. 2D graf output datoteke PHITS izračuna toka zrake protona u vodenoj cilindričnoj ćeliji. Prikazane su trajektorije protona i vrijednosti čestičnog toka izraženog u 1/cm2/izvor (lijevo) te relativne pogreške istog izračuna (desno).