Problem 654 - Reflectivity and ground surfaces
Summary: Reflectivity and ground surfaces
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/optical (show other problems)
Version: 6.0
Hardware: PC Linux
: P2 normal
Assignee: gum
URL:
Depends on:
Blocks:
 
Reported: 2004-07-29 11:25 CEST by diego.garcia.gamez
Modified: 2004-08-16 07:54 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description diego.garcia.gamez 2004-07-29 11:25:20 CEST
Hello!,
I want to simulate a surface (aluminium) with a reflectivity of 0.23, and with a
sigmaalpha=45*deg(for example),in contact with liquid Argon:

...
const G4int number = 2;
G4double Ephoton[number] = {2.07*eV,10.8*eV};
G4double ReflectivityAl[number] = {0.23,0.23};
G4OpticalSurface* OpHoneySurface = new G4OpticalSurface
    ("HoneySurface",unified, ground, dielectric_metal,sigalpha=45.*deg);

  G4LogicalBorderSurface* HoneySurface;
  HoneySurface=new G4LogicalBorderSurface("HoneySurface",
					     physiLiquidArgon,physiHoneycomb,OpHoneySurface);

  G4MaterialPropertiesTable *myST3 = new G4MaterialPropertiesTable();
  myST3->AddProperty("REFLECTIVITY", Ephoton, ReflectivityAl, number);
  OpHoneySurface->SetMaterialPropertiesTable(myST3);
...
but when I count the number of photons that are reflected to the Argon by the
aluminium wall in relation with the total number of photons that hit it, this
factor is not 0.23 (or aproximate), is less than it, and is smaller as bigger is
the value of sigalpha. Just when sigalpha is 0*deg the reflectivity has the
value that I want.

Can anyone tell me why this happen, and how can I obtein a surface with a
reflectivity of 0.23(for example) and a sigalpha!=0*deg(a ground surface).

Thanck you!!
Comment 1 gum 2004-07-30 15:54:59 CEST
The value of the reflectivity you provide is for a 'single reflection' off the
surface. What happens for very rough surfaces is that the photon, after being
reflected from a micro-facet, whose normal happens to have a large angle with
the nominal surface normal, still points (has a direction) out of your LAr and
hence within G4OpBoundaryProcess 'reinteracts' with the surface. The
reflectivity is again applied and as a result, the rougher the surface the
smaller the observed effective reflectivity.

So, as you have discovered, there is a correlation between roughness and 'single
reflection reflectivity'. I shall update the documentation to make it clear that
the value given, must not be the effective reflectivity but that value which
gives the desired effective reflectivity due to the possiblility of multiple
'interections' at the boundary for rough surfaces.

On the other hand, there should be a definite relationship between, on the one
hand, single-reflectivity + sigma_alpha, and on the other hand, effective
reflectivity. G4 could then convert at initialization, an effective reflectivity
given by the user to the one needed internally for the random decision at each
single reflection.

You might argue that the code should be smart enough to know that the photon
re-interacts and not again apply the reflectivity criterion. That was not my
initial thought when I wrote the code. Instead, I thought that reflectivity, if
it is at all known, is known for polished surfaces. In most applications, I
presume, the actual value used for the reflectivity and for the surface
roughness are ones obtained by 'trial and error' until a simplefied simulation
agrees with a test measurement designed to 'calibrate' the simulation.
Comment 2 diego.garcia.gamez 2004-08-02 04:23:59 CEST
Thanck you very much for answer me so fast!
O.K., what I really want to simulate is a dielectric-metal surface that has a
50% of SpikeReflection and a 50% of diffusion with a reflectivity of 14%, and
another one with a 100% of diffusion an a reflectivity of 23%. I tried to do
this with ground surfaces,with their respective reflectivities and with a
small sigma-alpha for the first one (15*deg) and a big sigma-alpha for the
second (60*deg).
Could you tell me if I am in the right way?, is there another way to simulate
diffused (and semidiffused) dielectric-metal surfaces?,
Thancks again!
Comment 3 diego.garcia.gamez 2004-08-02 04:25:59 CEST
Thanck you very much for answer me so fast!
O.K., what I really want to simulate is a dielectric-metal surface that has a
50% of SpikeReflection and a 50% of diffusion with a reflectivity of 14%, and
another one with a 100% of diffusion an a reflectivity of 23%. I tried to do
this with ground surfaces,with their respective reflectivities and with a
small sigma-alpha for the first one (15*deg) and a big sigma-alpha for the
second (60*deg).
Could you tell me if I am in the right way?, is there another way to simulate
diffused (and semidiffused) dielectric-metal surfaces?,
Thancks again!
Comment 4 gum 2004-08-03 14:51:59 CEST
As the code in G4OpBoundaryProcess is presently written, it is NOT possible to
define/simulate a dielectric_metal surface that has 50% SpikeReflection and 50%
diffuse LobeReflection. Direct surfaces between a dielectric and a metal can
either be polished or ground, the degree of how diffuse/ground it is, is then
defined by either the "sigma_alpha" parameter in the UNIFIED model, or the
"polish" parameter in the GLISUR model.

You can however define an indirect surface (dielectric_dielectric) with a little
air gap between the 'backpainted' (or wrapping) reflector and your medium. In
that case, the full functionality of the UNIFIED model can be brought to bear
and the four types of reflections can occur.

The degree of reflectivity is always applied when reflecting off the metal
surface either in the dielectric_metal or the dielectric_dielectric/backpainted
option.

100% of diffuse reflection and a reflectivity of 23% can be simulated. However,
for very diffuse reflections, i.e. large values of 'sigma_alpha' or small values
of 'polish', the effective reflectivity is diminished from 23% because of the
sometimes multiple interaction with the boundary as explained earlier.

I shall look into whether it is possible, i.e. how difficult it is, to extend
the functionality of G4OpBoundaryProcess to include the four types of
reflections also for the direct dielectic_metal surface.
Comment 5 gum 2004-08-12 13:04:59 CEST
I have committed (tag op-V06-02-01) a new version of G4OpBoundaryProcess which
uses the Unified model reflection parameters for dielectric/metal surfaces when
the unified-model is specified and they have been provided, and which applies /
samples the reflectivity and those Unified model reflection parameters only once
even for rough dielectric/metal surfaces - i.e. not again even when the
reflected ray due to the sampled facet normal is such that it still points
toward the nominal surface. Hence, the effective reflectivity and reflection
probabilities no longer change when the user changes the roughness of the surface.
Comment 6 diego.garcia.gamez 2004-08-16 07:54:59 CEST
Thank you very much for your help!