LUT Davis, Odd behavior

Starting off,

Geant4 Version: 11.1.0
OS: Ubuntu 20.04.6
cmake version: 3.16.3

My goal has been to duplicate the simulation results of the LUT Davis benchmark/implementation paper, “An integrated model of scintillator-reflector properties for advanced simulations of optical transport - PubMed” referenced in the manual. My issue is that I am unable to duplicate the results, I think the issue is due to my definition of the LUT Davis optical surface.

The results from the paper I am comparing against are the polished no reflector case, shown in black in Fig. 12., I digitized the results and plotted against my own.


In green is the digitized data from the paper, and the other two curves are from when I used the Unified model and the LUT Davis model. I included the UNIFIED model case because there should be little difference between the bare polished UNIFIED model and the bare polished LUT Davis model.

Because my results when using the UNIFIED model are close to the paper result, I believe I can rule out the possibility that the problem is with my model geometry or physics. Hence, I am inclined to lay the blame on my definition of the LUT Davis surface.

So my questions are:

  1. Is there anything wrong with my wrong with my definition of the LUT_Davis surface?
  2. If there is nothing wrong with my surface definition what else could it be?
  3. Exhausting all other possibilities, could there be an issue with how newer versions of Geant4 implements the LUT Davis surfaces?

‘’’
G4OpticalSurface* LUT_Surface = new G4OpticalSurface(“LUT_Surface”);
LUT_Surface->SetType(dielectric_LUTDAVIS);
LUT_Surface->SetFinish(Polished_LUT);
LUT_Surface->SetModel(DAVIS);

G4LogicalBorderSurface *CrystaltoWorld  = new G4LogicalBorderSurface("CrystaltoWorld", 
                                                                     physCrystal, 
                                                                     physWorld, 
                                                                     LUT_Surface);

‘’’

Construction.cc (11.9 KB)
Construction.hh (959 Bytes)

To update my last post, I spent my time cleaning up my code, and managed to brake my tunnel vision to simulate and plot out the LUT Davis rough cases instead of just polished. Before I had hyper focused in on the polished case.

As before, I worked on a sanity check where I wanted to confirm that I could use the LUT Davis optical surfaces correctly. I compared my results to the digitized plot data from the benchmark paper for the model and set up a simulation to replicate the benchmark papers data and found that my simulation results using the polished LUT Davis surfaces did not match published data. This time I did the same with the rough LUT Davis surfaces and contrary to polished case I managed to get pretty close to the published data.

I am now concerned there is an unspecified extra step that need be done for polished cases, or more worrying that maybe the wrong datasets were uploaded in place of the polished LUTs.

Hi, thanks for reporting this. I don’t see anything wrong with what you’ve done.

Since you mention possibly wrong or changed datasets, you could try both using all the Polished datasets, and see if any agree with any of the results from the paper. Or download the first version of the datasets and see if there were any changes.

I don’t get any feedback from users of the LUTs, so don’t know what is expected.

Could you please file a bug report so this doesn’t get lost.