DIDSR / MCGPU

GPU-accelerated Monte Carlo x-ray transport code to simulate medical x-ray imaging devices.
56 stars 20 forks source link

Adding new material files #1

Closed leehoy closed 3 years ago

leehoy commented 3 years ago

Hello. Thank you for the wonderful implementation.

I'm wondering is there any way to add new materials other than using PENELOPE 2006.

I'm trying to include a lead slab in my geometry to obtain data for the scatter correction algorithms. However, the lead is not in the material files, and I cannot get the PENELOPE 2006 code.

Could you update the create material files to a newer version of PENELOPE, or could you tell me any other way to add new materials?

Thanks

ferdymercury commented 3 years ago

I tried some time ago and it also works well with PENELOPE2014. You can request access to it on https://oecd-nea.org/tools/abstract/detail/NEA-1525

It will put you in contact with a distribution delegate, which might be able to send you older versions of it.

leehoy commented 3 years ago

Thank you! I'll try with PENELOPE2014.

andreubs commented 3 years ago

Hi leehoy,

I would be surprised if you can generate the material file from a PENELOPE 2014 file without any modification, but you can try (validate that the results are the same as with materials you already have from PENELOEP 2006).

I am attaching the material files for Lead, steel and Aluminum, in case these can help you. You could also try the Tungsten file from here: https://github.com/DIDSR/VICTRE_MCGPU/tree/master/example_simulations/material

However, using highly attenuating materials like lead in MC-GPU will slow down the simulation a great deal, because the delta scattering algorithm assumes that all the phantom is composed of the most attenuating material. The simulation time increases almost linearly by the ratio of the highly attenuating material and bone (which is typically the most attenuating material in phantoms without implants). So expect easily a 10x slow down if using Tungsten in the simulation.

Al__5-120keV.mcgpu.gz steel__5-120keV.mcgpu.gz lead__5-120keV.mcgpu.gz

katrien-houbr commented 2 years ago

Hello,

I'm curious how you guys were able to make a material file yourself. I would like to generate a material file of iodine. I have PENELOPE 2006, however when running the compiled 'MC-GPU_create_material_data' I got following error:

Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error:

0 0x7fac1d45cd21 in ???

1 0x7fac1d45bef5 in ???

2 0x7fac1d12620f in ???

3 0x7ffde6fbc2c8 in ???

Segmentation fault (core dumped)

I have very limited knowledge about fortran. Does any of you have an idea how to solve this?

Thanks, Katrien

leehoy commented 2 years ago

Hi Katrien,

I wasn't able to get any version of the PENELOPE.

So I generated the material file using the Geant4. I constructed material tables in the Geant4 and extracted the required data for the MCGPU.

I compared the generated data and the existing material files. They showed pretty good agreement.

byljcron commented 1 year ago

Hi leehoy,, I have same issue about getting PENELOPE, so i am thinking using geant4 to get material file for mcgpu as you did. do you have any suggesting for that ? thanks