documentation:simulation_modes
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| documentation:simulation_modes [2011/10/25 02:02] – 142.103.140.43 | documentation:simulation_modes [2015/09/09 08:59] (current) – macke | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | =====Simulation algorithms===== | ||
| + | |||
| + | ===Overview of the different algorithms implemented=== | ||
| + | |||
| + | __Parratt__ | ||
| + | |||
| + | * For optical isotropic material | ||
| + | * Very fast | ||
| + | * very stable algorithm | ||
| + | * can calculate only sigma- and pi-light. Circluar polarization modelled as average of sigma- and pi-light. | ||
| + | * magnetic contributions are included approximately for circular polarized light. | ||
| + | * The magnetic dichroism in the Parratt formalism is implemented by changing the magnetization of the sample. Because of the limitations of Parratt a dichroism by changing the polarization of the light is not possible. | ||
| + | |||
| + | __Zak__ | ||
| + | |||
| + | * For optical isotropic material with magnetic contributions | ||
| + | * very slow | ||
| + | * stable algorithm | ||
| + | * arbitrary polarization of incident light | ||
| + | * top layer must be vacuum for calculating reflectivity | ||
| + | * top and bottom layer must be vacuum for calcuting transmission | ||
| + | * magnetization can have any direction in the material | ||
| + | * The magnetic dichroism is implemented by changing the polarization of the light. A change of the magnetization is not possible. Due to symmetry of the XMCD effect this is not a limitation. | ||
| + | |||
| + | __Matrix__ | ||
| + | |||
| + | * For optical anisotropic material which can contain every effect that can be modelled by a dielectric tensor (e. g. magnetism, crystal structure, orbitals) | ||
| + | * very slow | ||
| + | * algorithm can be numerically unstable | ||
| + | * arbitrary polarization of incident light | ||
| + | * top layer must be vacuum for calculating reflectivity | ||
| + | * top and bottom layer must be vacuum for calcuting transmission | ||
| + | |||
| + | |||
| + | ====Simulation modes==== | ||
| + | |||
| + | The reflectivity is a function of < | ||
| + | wave vector < | ||
| + | |||
| + | ==Reflectivity== | ||
| + | |||
| + | __monochromatic__\\ | ||
| + | * Calculates the reflectivity < | ||
| + | * The polarization is defined as "Ray 1" in the " | ||
| + | * The energy is defined in the " | ||
| + | |||
| + | __dichroic__ \\ | ||
| + | * Calculates the reflectivity < | ||
| + | * The polarizations are defined as "Ray 1" and "Ray 2" in the polarzation tab. | ||
| + | * The energy is defined in the " | ||
| + | |||
| + | __asymmetry__\\ | ||
| + | * Calculates the asymmetry < | ||
| + | |||
| + | * The polarizations are defined as "Ray 1" and "Ray 2" in the polarzation tab. | ||
| + | * The energy is defined in the " | ||
| + | |||
| + | |||
| + | ==Energy Scan== | ||
| + | |||
| + | __monochromatic__\\ | ||
| + | __dichroic__\\ | ||
| + | __asymmetry__\\ | ||
| + | |||
| + | |||
| + | |||
| + | ==map== | ||
| + | |||
| + | __monochromatic__\\ | ||
| + | * Calculates the reflectivity < | ||
| + | * The polarization is defined as "Ray 1" in the " | ||
| + | * The energy is defined in the " | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ====Options==== | ||
| + | |||
| + | There are several options to alter the behaviour of the algorithms | ||
| + | |||
| + | ==Option Algorithm== | ||
| + | Here you can choose the algorithm for the simulation\\ | ||
| + | |||
| + | __Parrat__: activates the parratt algorithm \\ | ||
| + | __Full matrix formalism__: | ||
| + | __Zak matrix formalism__: | ||
| + | |||
| + | ==Option Precision== | ||
| + | The algorithm are implemented with different accuracies. For most systems the precision " | ||
| + | In most cases the precision option is only useful for the full matrix formalism because it can be numerically unstable. | ||
| + | |||
| + | __float__: uses the accuracy of the 4-byte floating point numbers \\ | ||
| + | __double__: uses the accuracy of the 8-byte floating point numbers \\ | ||
| + | __long double__: uses the accuracy of the 10-byte floating point numbers \\ | ||
| + | __60 digits__: uses a floating point numbers with an accuracy of 60 digits. (Very slow, but very accurate) | ||
| + | |||
| + | |||
| + | ===roughness calculation=== | ||
| + | |||
| + | The interface roughness makes your model real. ReMagX uses a model known as Nevot& | ||
| + | a continuous change of the optical constants delta and beta. | ||
| + | |||
| + | |||
| + | __Nevot& | ||
| + | __layer segmentation__: | ||
| + | |||
| + | |||
| + | |||