As introductory example, we simulate specular reflectometry by a sample that consists of 10 Ti/Ni double layers on a Si substrate.
The same script has been used in preceding pages to explain usage and syntax of BornAgain Python code.
To generate this image
run this script:
|
|
The Define materials stance defines four materials in terms
of their scattering length density (SLD).
The arguments of the constructor-like global function
MaterialBySLD
are name
, real_sld
, imag_sld
.
Both real_sld
and imag_sld
are in units of inverse square angstroms.
SLD values for a wide variety of materials can be found on https://sld-calculator.appspot.com
and https://www.ncnr.nist.gov/resources/activation.
By convention, imag_sld
is treated as negative,
which corresponds to attenuation of the signal.
In this example, all imaginary parts are zero.
The Define layers stance defines four types of layers.
The arguments of the constructor
Layer
are material
and thickness
in nanometer.
If no thickness is provided, then the layer is semi-infinite.
The Define sample stance constructs a sample by pilig up the above defined layers from top (vacuum) to bottom (substrate). Samples are always of type MultiLayer.
The function get_simulation constructs a SpecularSimulation. The constructor AngularSpecScan defines a scan as function of inclination angles. The arguments are wavelength, number of points, initial angle, final angle.
The Main program has been explained in the Syntax page. For alternative ways of running simulations and plotting or exporting results, see section Plot and export.