Polarization and depolarization rates in rough surfaces

Hi! I’m studying rough surfaces and searching for a software that allows me to simulate and study them. One of the things that I want to study is the way that rough surfaces polarize or depolarize light when iradiated with a certain tipe of polarization.
I’ve been reading about Geant4 and it allows to specify the incident light polarization but it seems that it doesn’t simulate the changes in the polarization when they interact with the surface and they suffer multiple internal reflections in the microfacets. So, the question is: Do G4 does this kind of simulations and does it quantifies the polarization changes? Is it possible to get a polarization/depolarization rate?

Well, there is code that calculates the polarization depending on the facet normal:
https://geant4.kek.jp/lxr/source/processes/optical/src/G4OpBoundaryProcess.cc#L1122

It looks like it handles multiple reflections off facets.

Using the macro command
/process/optical/boundary/verbose 1
will print the polarization before and after the boundary process.

Try it and let us know what you find.