In Geant4-10.6.2 I simulate optical photons interacting with dielectric and metal materials and I have the complex refractive indices defined for the material and surface properties. This topic already describes the issue perfectly, but there hasn’t been any updates nor a solution. I summarize the issues in the following.
The imaginary part of the complex refractive index is not taken into account for dielectric_dielectric surfaces when the reflectivity is calculated. This results in a wrong reflectivity for wavelength regions where the imaginary part is non-negligible. In order to force Geant4 to consider the imaginary part of the refractive index, a dielectric_metal surface has to be used, even though the interface should be dielectric_dielectric.
From a physics point of view, it does not make sense that optical photons are absorbed directly at the surface. In reality, photons should be refracted/transmitted into the material and should be absorbed following Beer-Lambert’s law. Due to the absorption at the surface, for dieletric_dielectric surfaces the amount of reflected and refracted photons is too little (but the ratio of reflected vs. refracted photons is correct). For dieletric_metal surfaces the amount of reflected photons is correct, but no photons are transmitted. For dielectric_metal surfaces this problem can be circumvented by setting the transmittance to 1. This does not affect the number of reflected photons, but instead all photons that have been previously absorbed at the surface, are then transmitted into the material, where they are absorbed following the provided absorption length. A similar behaviour can be achieved for dielectric_dieletric surfaces by setting the reflectivity to 1 (but the reflectivity is only correct when the imaginary part of the refractive index is negligible).
When an optical photon travels from one volume to another, where both volumes are dielectric_metal with a complex refractive index and an attached skin surface, the amount of reflected and transmitted photons is wrong (although using the hacks described above). If an additional border surface is defined for physical volume 1 → physical volume 2 using the optical surface of physical volume 2, the amount of reflected and transmitted photons is correct.
In my opinion these issues lead very likely to a wrong reflectivity if the user is not aware of them and the described circumventions should not be necessary in the first place. I would be happy if anyone could explain these design choices to me as I’m unable to see their purpose.