Andrzej Daniluk, Bartłomiej Daniluk, Grzegorz M. Wójcik
{"title":"A Python code for simulations of RHEED intensity oscillations within the one-dimensional dynamical approximation","authors":"Andrzej Daniluk, Bartłomiej Daniluk, Grzegorz M. Wójcik","doi":"10.1016/j.cpc.2024.109467","DOIUrl":null,"url":null,"abstract":"<div><div>We present a Python-based implementation of a practical procedure of construction of simulation program, which facilitates the calculation of changes to the intensity of RHEED oscillations in the function of the glancing angle of incidence of the electron beam, employing various models of crystal potential for heteroepitaxial structures including the possible existence of various diffuse scattering models through the layer parallel to the surface. The calculations are based on the use of a one-dimensional dynamical diffraction theory. Although this theory has some limitations, in practice it is useful under so-called one-beam condition. Computation performance has been improved by using <em>Numba</em> as an open source, <em>NumPy</em>-aware optimising compiler for Python.</div></div><div><h3>Program Summary</h3><div><em>Program Title:</em> PY_RHEED_DIFF</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/j6jxt9yr3b.1</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GNU General Public License 3</div><div><em>Programming language:</em> Python 3.12.7</div><div><em>Journal reference of previous version:</em> Computer Physics Communications 185 (2014) 3001–3009</div><div><em>Does the new version supersede the previous version?:</em> Yes.</div><div><em>Reasons for the new version:</em> Python, as a powerful, accessible and general-purpose programming language, has gained tremendous popularity in recent years. Python is characterised by a remarkable simplicity that makes it an ideal choice for users for whom knowledge of high-level programming techniques is not the most important in research work. According to users’ suggestions we have developed a Python-based implementation of generic computational model for simulations of changes to the intensity of RHEED oscillations in the function of the glancing angle of incidence of the electron beam, employing various models of crystal potential for heteroepitaxial structures including the possible existence of various diffuse scattering models through the layer parallel to the surface. This version implements improvements for ergonomics, computational performances, readability, and code functionality by adding new capabilities which make the output data generation and visualisation process much more efficient compared to the previous version.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"308 ","pages":"Article 109467"},"PeriodicalIF":7.2000,"publicationDate":"2024-12-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524003904","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
We present a Python-based implementation of a practical procedure of construction of simulation program, which facilitates the calculation of changes to the intensity of RHEED oscillations in the function of the glancing angle of incidence of the electron beam, employing various models of crystal potential for heteroepitaxial structures including the possible existence of various diffuse scattering models through the layer parallel to the surface. The calculations are based on the use of a one-dimensional dynamical diffraction theory. Although this theory has some limitations, in practice it is useful under so-called one-beam condition. Computation performance has been improved by using Numba as an open source, NumPy-aware optimising compiler for Python.
Program Summary
Program Title: PY_RHEED_DIFF
CPC Library link to program files:https://doi.org/10.17632/j6jxt9yr3b.1
Licensing provisions: GNU General Public License 3
Does the new version supersede the previous version?: Yes.
Reasons for the new version: Python, as a powerful, accessible and general-purpose programming language, has gained tremendous popularity in recent years. Python is characterised by a remarkable simplicity that makes it an ideal choice for users for whom knowledge of high-level programming techniques is not the most important in research work. According to users’ suggestions we have developed a Python-based implementation of generic computational model for simulations of changes to the intensity of RHEED oscillations in the function of the glancing angle of incidence of the electron beam, employing various models of crystal potential for heteroepitaxial structures including the possible existence of various diffuse scattering models through the layer parallel to the surface. This version implements improvements for ergonomics, computational performances, readability, and code functionality by adding new capabilities which make the output data generation and visualisation process much more efficient compared to the previous version.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.