Refactoring #1582

Updated by wuttke about 4 years ago

This is more of a question then a change request, maybe a request to update the documentation:

All example models with particles on surfaces place them directly on top of the substrate within a layer of air. This means there is no refraction or other dynamic effects before the beam gets scattered from the particles. In this model the secular reflectivity should just be the Fresnel reflectivity of the substrate, which definately is not the case.

Taking the simplest implest case of cylindrical particles:
From my understanding of the DWBA the model should consist of air/particle/substrate layers, with the particle layer having the SLD of the particle and air weighted averaged by the relative surface area. E.g. for 25% particle filling the layer SLD should be 25% of the particle SLD, if they are in air. The contrast for the in-plane form factor, however, should still be as big as between particles and air. (In BornAgain I think I have to increase the particle SLD by the layer SLD to keep the last statement true.)

I have attached two simulations of the same particle system, one in air and the other in the average SLD layer of the same height as the cylinders. The second case shows an enhancement of the structure factor at the Yoneda, which makes sense to me. Another difference, that is definitely seen in experiment, is the reduction of the in-plane scattering when going below the critical edge for the average SLD layer as the beam does not penetrate into it any more.

The situation obviously gets more complicated if the surface density of the particle material changes with depth. deapth. The only really correct approach in that scenario would be slices with inter-slice particle interference.

If I'm correct with this, there would be a few different options:
-Expand on this issue within the BornAgain documentation. For very low particle density (<5%) this should not be an issue. An example of denser packing should be given, where the SLD calculations are explained in detail. Some tool to make this calculation more straight forward would be nice.
-Include this directly into BornAgain, by building the actual physical model, not the DWBA model and let a clever algorithem generate the DWBA model. I do not know if this is possible, but it would certainly profit less experienced users not familiar with the theory. It is already a bit complicated to see different approaches for very similar problems. (I found it surprising to see in the examples that the user needs to add additional basis objects and what not to add more than one particle to a lattice, when there is a method to add the particles with a certain coordinate, which can be used more then once. This seems like an additional step that's unnecessary and it's you don't see when you are doing something wrong.)