General feedback on model

Dear FLUKA Community,

I have developed a model for my pilot study, which consists of a phantom placed on a table next to a wall. A set of thermoluminescent dosimeters (TLDs) are positioned on the wall. The phantom can be either a body phantom (containing a Tc-99m source) or a neck phantom (with an I-131 capsule in a vial). The TLDs are exposed to radiation from the phantom, and their readings analysed.

pilot_study.flair (13.1 KB)
pilot_study.inp (9.6 KB)

For this, I have set USRBIN cards to score by REGION. Additionally, I included two mesh USRBIN cards to measure photon and electron fluence around the phantom. This setup will be recreated experimentally in the near future to compare measurements.

Before conducting the physical experiment, I would greatly appreciate any feedback on my model—particularly regarding geometry setup, physics settings, optimisation, and general accuracy—as this is my first major project. I have attached the flair and input files for reference.

I have several questions, and while I understand they may require detailed responses, any input on any of them would be highly valued. I also apologise if the topic selection is not entirely appropriate due to the diverse nature of my queries.

Questions:

  1. I have multiple warnings, that I am aware of, about intersecting boundaries, especially for the TLDs on the wall. These are ideally set using infinite planes. Will this significantly affect my results (i.e., precision) if I keep them as is? If so, how exactly? I could not find much discussion on this.
  2. Are my physics settings correct? This is an area where I lack confidence, particularly in defining production/cut-off thresholds and other relevant parameters.
  3. My simulation runs for about 20 hours with 5E8 histories across 5 parallel jobs, achieving <2% uncertainty per TLD, which seems reasonable for running on a personal PC. However, how can I improve this further? I read in another post that region biasing in air is not recommended, but I do not understand why. What other biasing techniques could I apply? Additionally, increasing the number of particles beyond my current settings is not significantly reducing uncertainty (only by a few tenths of a percent).
  4. Is my normalisation 2.5E13 / (0.38 × 0.38 × 0.09) * 1E-6 for region bins correct? The 2.5E13 is the expected disintegrations in my physical experiment, (0.38 × 0.38 × 0.09) are the TLD sizes, and 1E-6 is conversion from pSv to µSv.
  5. How does my bin size selection for the mesh score impact results? Is there an optimal method for determining bin size based on the model?
  6. Are there any other ways to optimise my simulation in terms of runtime, accuracy, geometry definition, physics settings, etc?

I have also attached an image of one of the mesh scores overlaid on the geometry to illustrate my results.

Any advice would be greatly appreciated!

Samuel

  1. I have multiple warnings, that I am aware of, about intersecting boundaries, especially for the TLDs on the wall. These are ideally set using infinite planes. Will this significantly affect my results (i.e., precision) if I keep them as is? If so, how exactly? I could not find much discussion on this.

    Let’s say that Fluka needs to determine if a particle is in one region or an adjacent region. When the two regions are separated by an infinite plane, Fluka will solve the equation of the plane, and the particle can only be on one of the two sides. If instead the two regions are defined by e.g. two RCCs, then when solving equations, Fluka may run into some problems placing the particles in both or either of the two regions. Keep in mind that numerical accuracy needs to be taken into account. Especially, if the bodies are rotated. For this reason, it is recommended to separate regions using infinite planes.
    Looking at your specific case, I believe that Fluka should be able to deal with the problems rising from your implementation, recovering of possible tracking issues. Nevertheless, keep in mind that this is not the recommended practice.

  1. Are my physics settings correct? This is an area where I lack confidence, particularly in defining production/cut-off thresholds and other relevant parameters.

    As a general comment, I’d like to point out that this forum is not meant as a place where users can get their simulations validated, this would be out of scope.
    So said, you’ve chosen the PRECISIO defaults, which means a 100 keV threshold for electrons/positrons transport and a 33 keV threshold for photon transport. Does this make sense for you? Is it ok to “drop” electrons and photons below this energy? Do they have enough energy to reach your TLDs? Can the energy threshold be raised? How much energy do these particles loose in air? Once your particles reach the TLDs, does it matter where they precisely deposit their energy?
    As a general rule, the lower the threshold is, the more precise the results are and the slower the simulation gets.
    It is really for you to decide where the right balance is.

  1. My simulation runs for about 20 hours with 5E8 histories across 5 parallel jobs, achieving <2% uncertainty per TLD, which seems reasonable for running on a personal PC. However, how can I improve this further? I read in another post that region biasing in air is not recommended, but I do not understand why. What other biasing techniques could I apply? Additionally, increasing the number of particles beyond my current settings is not significantly reducing uncertainty (only by a few tenths of a percent).

    These are many questions :wink:
    Why is region importance biasing in air not a good thing? When performing this type of biasing, an exact copy of the particle being biased is generated (same position, same momentum, same everything). If these two particles are moving inside a dense medium, they will undergo a lot of interactions, which means that their stories will become different very quickly. Instead, if the two particles are moving in a non-dense medium, they will have a long mean free path, therefore they will not undergo that many interactions, therefore their story will be very similar one another, therefore biasing will double the weight of the cloned particle without improving the knowledge of the system.
    How can you improve your simulation? The first thing that I noticed, is that you have a radioisotope as source. This means that your radiation is isotropic, while your geometry occupies only a small portion of the solid angle. You could slightly improve the efficiency replacing the air outside the solid angle of interest with vacuum or black hole.

  1. Is my normalisation 2.5E13 / (0.38 × 0.38 × 0.09) * 1E-6 for region bins correct? The 2.5E13 is the expected disintegrations in my physical experiment, (0.38 × 0.38 × 0.09) are the TLD sizes, and 1E-6 is conversion from pSv to µSv.

    I take that you’re talking about the ambient dose equivalent estimator (USRBIN per region).
    Per region scoring results are given per unit primary weight, therefore, the output provided by Fluka will be the ambient dose equivalent over each region, per single disintegration, in pSv, i.e. pSv/decay. BUT! But we’re talking about ambient dose equivalent rate, which is estimated using fluence and conversion factors. This means that the volume of the region must be taken into account, i.e. the results must be divided by the region volume (to transform tracklength into fluence). All in all, it means that your normalization seems correct to me.

  1. How does my bin size selection for the mesh score impact results? Is there an optimal method for determining bin size based on the model?

    It is difficult to answer your question, only you know the goal of your simulations and therefore only you can judge.
    Is the information coming from the region scoring enough? In this case you don’t need a very fine USRBIN mesh scoring (maybe you don’t need it at all).
    Are you interested in an overall estimate of ambient dose equivalent rate? Then in this case, a binning of a “human size” could be good (e.g. 5cmx5cmx5cm or 20cmx20cmx20cm).
    If you use your mesh to pick the position for a very small detector (like a TLD), then you may want to have a pretty fine mesh.
    One last point, the finer the mesh, the slower the simulations and the larger the output files.
    I hope that these thoughts give you an idea of the type of reasoning that can drive the selection of the bin size.

  1. Are there any other ways to optimise my simulation in terms of runtime, accuracy, geometry definition, physics settings, etc?

    All of the factors you mentioned can speed up your simulations. Probably, none of them is a silver bullet. But you can gain a few percent here and there. Anyway, in the end you’ll arrive at a point where further optimization will cost you more time in the implementation than simply improving your results by brute force running more primaries.

Dear @amario,

I sincerely appreciate the time and effort you took to answer each and every one my questions in such detail! Your responses were so comprehensive and clear that I understood everything, so I do not think it is really necessary to reply to each point individually.

However, I would like to take a moment to address the following:

My intention was never to seek validation for the model, and I apologise if it came across that way. My goal was simply to gain a deeper understanding of how that side of FLUKA works. That said, I have since validated the model using physical measurements and achieved results that align very closely!

Once again, thank you so much for your invaluable assistance!

Best regards,
Samuel