I record an angle map from a sub model then create a desorbing facet in my principal model using the “Recorded” feature for Desorption.
It seems to work just fine except in the theta = 0 (normal) direction where there is a very sharp peak of density, like the density is corrected by a 1/sin(theta) factor even for angles that are very close to 0. Molflow version is 2_10_0. Th CSV file in itself seems absolutely correct.
It also creates a non realistic impingement rate peak on a screen far away.
Hello: I don’t know if the following will explain and solve your problem, but in one case I experienced the same issue.
In my case it happened that I had chosen very small angular step near the normal vector direction, this meaning that only few molecules had actually filled that angular bin in the angle map. When I normalized the whole 2D profile I got an abnormally high value in that direction/bin.
In your case, as Petar Trifunovic does in his reply to you, we would need to get a copy of your file/geometry and check that this is not the case. Should this be the case, the reasonable solution would be to run the first simulation longer, so as to decrease the variance and avoid having such a spurious angular peak.
Another possibility/explanation could be that for very small angles the 1/sin/theta) normalization is not done properly, although I don’t think that to be the case… one needs to look at the actual code file, anyway.
Thank you both for your suggestion. Here is a minimal example. Inside the zip is a 10x10 angle mapping that should resemble a cosine distribution.recorded Desorption.zip (5.0 KB)
The problem is that we’re sampling the original sin(theta)*cos(theta) distribution with a finite number of bins. This means that at theta=0 the sampled value will not converge to 0:
The lowest bin, that I colored in green, will assign a non-zero value, and the relative error at theta=0 will go towards infinity. This can be seen in the profile in MolFlow when generating with the sampled angle map. The non-corrected distribution looks correct (the higher angles are missing because they miss the target, that’s expected):
I would say that the solution is to increase the angle map resolution. In your example, dividing the 0..PI/2 domain into 10 equally spaced bins is very rough (but very useful for demonstrating the effect, thank you!). Using 50 equally spaced bins makes the error already hard to notice:
I will do some testing whether there is a systematic way to completely get rid of the issue (like interpolating bin values between the extremities, or sampling in the cos(theta) space instead of the theta space). Meanwhile, a larger bin number, using the theta limit, something like this, can help: