Comments (2)
The shadow documentation for the sources is here:
http://ftp.esrf.eu/scisoft/shadow/documentation/shadow-source.pdf
Other original documents for shadow are here:
https://github.com/srio/shadow3-docs
The shadow-source users guide says:
Flat Angle Distribution
The source angle distribution dictates how the rays in momentum space will be generated...
In Flat angle distribution, the rays have an equal probability of being assigned any angle within the user specified interval of horizontal and vertical half-divergences (in radians). This source will not illuminate uniformly a sphere centered on it, but rather a plane.
Uniform Distribution
With a uniform distribution, the intensity of the source incident on a plane varies as the cosine of the angle of the ray with respect to the optical axis, following Lambert’s law. This means a uniform brightness source, where the flux flowing into a solid angle dW from an area dA is independent of the observation angle. In general, dN dq = cos q. For the case of an isotropic source, see the “Conical Source” case.
Conical Angle Distribution
This distribution has the angles of the rays uniformly generated between a minimum and maximum absolute value. The minimum can be zero. The distribution of rays in the angle theta is uniform, i.e. a spherical surface will be uniformly illuminated by this source placed at its center. This is in contrast to the case of a uniform source.
Additional comment (srio) referring angles and directions:
Note that columns 4,5,6 refer to the "direction" of the ray, or a unity vector pointing in the direction of the ray. They are usually noted x', y', z'. Usually in shadow we consider x' and z' as "angle in radiants" and many menus and plots also in Oasys use this convention. But this is only valid in the small angle approximation, where the beam is propagating close to the the Y axis direction. If we call Vx,Vy,Vz the columns 4,5,6 (unitary vector) and if we call x' the angle between the ray and the YZ plane, and similarly z' the angle between the ray and the YX plane, using the director cosines (https://en.wikipedia.org/wiki/Direction_cosine) we have:
cos(a) = sin(x') = Vx
cos(c) = sin(z') = Vz
and under small angle approximation sin(x)~x
x'=Vx
z'=Vy
from shadow3.
Thanks!
I just have not succeeded to find any differences between ray distribution produced by flat and uniform source (given the same seed and angular range are used) at any angular range, so the above question arose.
from shadow3.
Related Issues (20)
- Error while running test program HOT 4
- Unexpected behavior of CRL + crystal HOT 2
- compound lens problem for zero lenses
- fatal error LNK1136: invalid or corrupt file HOT 8
- Installation from source not working HOT 30
- License for this repo HOT 2
- SI100 produces unrealistic intensity HOT 1
- simulation of paraboloid mirror HOT 1
- BRAGG standalone use HOT 1
- Parabolic mirror with small distances HOT 2
- choosing the torus pole location HOT 3
- reflectivity with graphite 002 HOT 10
- improve plot range (get_good_range) HOT 1
- Storing the output data HOT 4
- Support NumPy 1.24+
- Syntax error in ShadowLibExtensions.py HOT 1
- How to change the propagation direction of source in shadow3 of OASYS Software ? HOT 2
- ellipsoid mirror setup HOT 3
- link to Shadow user guide is broken HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shadow3.