Last Update : 2017/10/17


1 Questions related to parameter setting
Q1.1 Input file that works before ver. 2.88 does not work after that version.
A1.1 Several revisions were made in terms of the input file format after ver. 2.89 to avoid frequently-occurring mistakes. In general, it is not necessary to change input file when PHITS is updated, but in some cases, it is necessary. If you encounter an error after the update, please check the following points.
  1. After ver. 2.89, "c" cannot be used as a comment remark in [material] section in the default setting. You have to change the comment remarks "c" in [material] to $ or #, or set icommat=1 in [parameters].
  2. After ver. 2.93, low energy neutrons are transported using nuclear data library in the default setting. Thus, you may encounter an error "There is no cross section table(s) in xsdir" even when you want to transport only photon and electrons. In that case, you have to set nucdata=0 in [parameter] to disable the use of nuclear data library.
  3. After ver. 2.96, it is not allowed to define two or more [parameter] sections in an input file.
  4. After ver. 2.96, unnecessary tallies are automatically disabled, depending on the icntl parameter. Consequently, set and infl commands are ignored when they are written in the disabled sections. When set or infl commands are ignored, PHITS outputs warning.

Q1.2 Electrons and positrons are not transported.
A1.2 Transport of electrons and positrons are ignored in the default setting because they are time consuming. If you want to transport them, you have to activate EGS5 mode by setting negs=1 in [parameters].

Q1.3 What is the setting of nuclear reaction models giving the most accurate result?
A1.3 In general, the default models give the best results in most cases. However, it is desirable to activate RQMD (irqmd=1) for precisely simulating nucleon-nucleon interactions, and SMM (ismm=1) for precisely estimating the residual nuclide yields after high-energy nuclear reactions, though they are time consumptive.

Q1.4 What kind of simulation does event-generator mode suit for?
A1.4 Event generator mode suits simulations by which the event-by-event information is necessary to be obtained, e.g. detector response calculations and design of semi-conductor devices. It is also useful for the simulation that must determine energy and type of charged particles produced by low-energy neutron interactions. In concrete, event generator mode generally suits does the simulations using [T-Deposit], [T-LET], [T-SED], [T-Yield] and/or [T-Product] tallies. On the other hand, it is not suit for the simulations only using [T-Track] and/or [T-Cross] tallies, such as shielding calculation. See Manual "4.2.22 Event Generator Mode" section in more detail.

Q1.5 When should I change the mode for the statistical uncertainty (the setting of istdev)?
A1.5 We generally recommend the history variance mode (istdev=abs(2)), where the statistical uncertainty depends on the total history number (maxcas*maxbch), except for the case of shared-memory parallel computing, where only the batch the batch variance mode (istdev=abs(2)) can be selected. However, the computational time occasionally becomes extremely long in the history variance mode, especially in the case of tallies using a lot of memories, e.g. xyz mesh tally with very fine structure. When you perform the PHITS calculation with such conditions, please change to the batch variance mode and set maxbch to be more than 10.

Q1.6 Is it possible to use nuclear data libraries other than JENDL-4.0?
A1.6 Yes. PHITS can use nuclear data libraries that are written in the ACE format, i.e. MCNP format. The followings are the instruction how to use a new nuclear data library in PHITS.
  1. Open "xsdir" contained in the package of the new nuclear data library with a text editor, and copy all addresses of nuclear data (e.g. 1001.80c 0.999167 xdata/endf71x/H/1001.710nc 0 1 4 17969 0 0 2.5301E-08)
  2. Open "xsdir.jnd" included in the "data" folder of PHITS with a text editor, and paste the copied addresses at the end of the file.
  3. Creating a new folder with appropriate name written in the address file in the XS folder of PHITS, and copy data files of the new nuclear data library to the created folder.
  4. Explicitly specify the library ID in the [material] section of your PHITS input file (e.g. 1H.80c or 1001.80c for the above example). If you do not specify the library ID, PHITS automatically find the data library of the nucleus earlier written in " xsdir.jnd". Thus, JENDL-4.0 is selected when the data for the nucleus is available.

Q1.7 How can I obtain neutron fluxes emitted from photonuclear reactions with a good statistical uncertainty?
A1.7 You can bias the photonuclear cross section using the pnimul parameter. For example, the probability to cause photo-nuclear reaction becomes double when you set pnimul=2.0, and the weights of secondary particles emitted from the photonuclear reaction are 0.5. If you set very high value for pnimul, e.g. above 100.0, the photon fluxes might be changed. Thus, please check whether the photon fluxes does not change very much when you use this parameter.

Q1.8 I cannot restart PHITS simulation due to error related to the inconsistency of tally. Why?
A1.8 It is due to the loss of significant digit in the PHITS input file. In that case, you have to set ireschk=1, then PHITS skips the consistency check.

2 Questions related to error occurred in compiling or executing PHITS
Q2.1 I got an error in compiling PHITS. How can I compile PHITS ?
A2.1 PHITS can be compiled by Intel Fortran 11.1 (or later) or gfortran 4.7 (or later). However, Windows gfortran 4.9 - 5.4 cannot compile PHITS properly. The recommended compiler is Intel Fortran because PHITS compiled by Intel Fortran is much faster than that by gfortran. See Manual "2.4 Compilation using make command for Windows, Mac, and Linux" section in more detail.

Q2.2 Segmentation fault occurred during the execution of PHITS.
A2.2 It might be due to the overflow of the memory used in PHITS. In that case, you have to increase the maximum size of memory acceptable to PHITS. The maximum size is defined as mdas parameter in param.inc in the src directory. Thus, you have to increase this number, and re-compile PHITS. You may also have to increase latmax parameter if you would like to use a huge lattice structure such as voxel phantom. See Manual "2.9 Array sizes" p28-29 in more detail.

Q2.3 An error occurred when I try to use infl: in my PHITS input file.
A2.3 When infl: command is used in your PHITS input file (let name input.dat), you have to type file=input.dat at the first line of input.dat file. Or you have to make another input file (let name phits.in) whose first line is file=input.dat, and use phits.in as the input file of the PHITS. See Manual "2.7 Executable file" section in more detail.

Q2.4 An error occurred when I try to execute PHITS on Linux or Unix console, but I can execute it on Windows using the same input file.
A2.4 Many reasons are considered to cause the error, but the most probable one is the difference of "return code" used in Linux (or Unix) and Windows. If you prepare your input file in your Windows computer, and transfer to your Linux (or Unix) system using FTP software, you have to check the status of transfer mode; i.e. you have to select "ASCII mode" in your FTP software.

Q2.5 Can PHITS be executed on Cygwin?
A2.5 Yes, you can. You can find the Cygwin option in "makefile" of PHITS.

Q2.6 Which is suitable for compiling PHITS, Intel fortran or gfortran?
A2.6 We basically recommend Intel fortran compiler because it can make a faster executable file of PHITS than gfortran. When you use gfortran, you had better set "-O0", namely NOT use optimization options, because there is a possibility that the executable file with the optimization doesn't work correctly. Therefore, the executable file compiled by Intel fortran is averagely 3-5 times as fast as that by gfortran. Furthermore, there is a problem that gfortran of the latest version cannot compile PHITS (see A2.1). Note that Intel fortran compiler is not a free-ware (also Linux version).

Q2.7 How should I set the distributed memory parallel computing (MPI) or the shared memory parallel computing (OpenMP) depending on the situation?
A2.7 The calculation using MPI is basically faster than that using OpenMP, if the MPI protocol is installed in the computer. However, because the protocol is not installed in usual computers of Windows and Mac OS in the default setting, we recommend the use of the executable file with OpenMP. If you want to perform the PHITS calculation using a huge memory such as high energy files of nuclear data and voxel phantom, you have to use the setting of a hybrid MPI-OpenMP, because there is a possibility of a memory shortage of the computer in the case using MPI only. In the hybrid setting, you should increase the number of MPI processes as much as the used memory is not over the capacity of the computer. Note that PHITS uses CPU cores of the number of OpenMP processes to control the MPI processes. For example, when you use a computer having 128 CPU cores and set the number of the OpenMP processes to 8, you can specify the maximum number of the MPI processes is 128/8-1 = 15.

Q2.8 I got so many lost particles when I rotate a lattice structure by [transform].
A2.8 The size of outer frame surface should be smaller than the lattice structure inside it, otherwise you may observe many lost particle. Please see Advanced Lecture: Making Voxel Phantom in more detail.

3 Questions related to Tally
Q3.1 What is the difference between [t-heat] and [t-deposit] tallies?
A3.1 The two tallies give basically the same values of deposition energies as each other. However, the [t-heat] tally can also give the deposition energy estimated by the Kerma approximation for neutrons and photons. When you use this approximation, set e-mode=0 in [parameters] section and electron=0 in [t-heat] section for neutrons and photons, respectively. The [t-deposit] tally is useful for calculating deposition energy weighted by user defined function, such as {\it Q(L)} relationship for calculating dose equivalent. See Manual "6.5 [t-deposit]" section in more detail.

Q3.2 The track length or fluence of heavy ions calculated by [T-Track] or [T-Cross] is strange.
A3.2 It might be due to the miss-define of the energy mesh in the tally section. The energy of heavy ions should be defined in MeV in the tally section, although it should be written in MeV/u in the [Parameters] section.

Q3.3 Results obtained by [T-LET] and/or [T-SED] tally are strange.
A3.3 You have to check the density of material selected by letmat. If you select the material that is not used in your geometry, you have to define its absolute atomic densities (1H 6.893407e-2 16O 3.446704e-2) in [Material] section. See ParticleTherapy.inp in recommendation.zip as example. In addition, if you set a very fine mesh (more than 10 meshes per decade) in [t-let], the results might have zigzag structure. In that case, you have to widen the LET mesh.

Q3.4 How can we estimate the statistical uncertainty from the tally output?
A3.4 Version 2.52 or later, the standard deviations or standard errors are correctly outputted in the tally results. See Manual "4.2.2 Number of history and bank" section in detail.

Q3.5 Can I use "dump" function when I execute PHITS in the distributed memory parallel computing?
A3.5 From version 2.30, it works. Please ask PHITS office about its detailed usage.

Q3.6 Tally results in a box obtained using "mesh=reg" and "mesh=xyz" are inconsistent with each other.
A3.6 PHITS automatically calculate the volume of tally regions only in the cases of mesh = xyz or r-z. Thus, if you set "mesh=reg" and you do not specify [volume] section, the volume of the tally region is assumed to be 1 cm3.

Q3.7 Why do some events deposit energies greater than the incident energy using [t-deposit] with "output=deposit" option.
A3.7 When exothermic nuclear reaction occurs, the total energy of secondary particles becomes greater than the incident energy. Such events are also observed when mesh = xyz or r-z and nedisp≠0. This is due to the algorithm for considering the energy straggling of charged particle in PHITS. In that case, you have to set mesh = reg in [t-deposit], and define cells that correspond to each xyz or r-z mesh in [cell] section.

4 Questions related to source generation
Q4.1 How can we normalize PHITS outputs when I use the isotropic source (s-type=9 with dir = -all)?
A4.1 If there is nothing inside the sphere of the isotropic source, the fluence inside the sphere is normalized to 1/(pi*r12) (/source), where r1 is the radius of the sphere. Thus, if you would like to convert the tally output (/source) to the unit fluence, you have to multiply the result with pi*r12. It should be noted that the weight control method is employed in generating the isotropic source, and thus, the event-by-event information cannot be derived from the simulation using the isotropic source. If you would like to obtain event-by-event information for isotropic irradiation, you have to set "dir = iso" in the [source] section.

Q4.2 Source particle does not created in the cell where it should be.
A4.2 If you set the source generating surface (or point) exactly on the surface of a certain cell, PHITS sometimes miss-identify the cell where it should be. In this case, please move the source surface a little bit different from the cell surface.