Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aduy_v4_0.tar.gz(2968 Kbytes)
Manuscript Title: Model-Driven Development for scientific computing. Computations of RHEED intensities for a disordered surface. Part I
Authors: Andrzej Daniluk
Program title: RHEED1DProcess
Catalogue identifier: ADUY_v4_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 181(2010)707
Programming language: Embarcadero C++ Builder.
Computer: Intel Core Duo-based PC.
Operating system: Windows XP, Vista, 7.
RAM: more than 1 GB
Supplementary material: The figures mentioned in the "Summary of revisions" section, can be obtained here.
Keywords: Reflection high-energy electron diffraction (RHEED), UML, Model-Driven Development (MDD), Model-Driven Architecture (MDA), Model-Driven Engineering (MDE).
Classification: 4.3, 7.2, 6.2, 8, 14.

Does the new version supersede the previous version?: No

Nature of problem:
An application that implements numerical simulations should be constructed according to the CSFAR rules: clear and well-documented, simple, fast, accurate, and robust. A clearly written, externally and internally documented program is much easier to understand and modify. A simple program is much less prone to error and is more easily modified than one that is complicated. Simplicity and clarity also help make the program flexible. Making the program fast has economic benefits. It also allows flexibility because some of the features that make a program efficient can be traded off for greater accuracy. Making the program fast also has the benefit of allowing longer calculations with better resolution. The compromise between speed and accuracy has always posted one of the most troublesome challenges for the programmer. Almost all advances in numerical analysis have come about trying to reach these twin goals. Change in the basic algorithms will give greater improvements in accuracy and speed than using special numerical tricks or changing programming language. A robust program works correctly over a broad spectrum of input data.

Solution method:
The computational model of the program is based on the use of a dynamical diffraction theory in which the electrons are taken to be diffracted by a potential, which is periodic in the dimension perpendicular to the surface. In the case of a disordered surface we can use the proportional model of the scattering potential, in which the potential of a partially filled layer is taken to be the product of the coverage of this layer and the potential of a fully filled layer:

Un(θ,z) = ΣnΣiθn(ti/τ)U< sub>n(1,zi),

where Un(1,zi) stands for the potential for the full nth layer, and Un(θ,z) the potential of the growing layer.

Reasons for new version:
Responding to the user feedback the RHEEDGr_09 program has been upgraded to a standard that allows carrying out computations of the RHEED intensities for a disordered surface. Also, functionality and documentation of the program have been improved.

Summary of revisions:
  1. The logical structure of the Platform-Specific Model of the RHEEDGr_09 program has been modified according to the scheme showed in Figure 1*. The class diagram in Figure 1* is a static view of the main platform-specific elements of the RHEED1DProcess architecture. Figure 2* provides a dynamic view by showing the creation and destruction simplistic sequence diagram for the process. Figure 3* shows the RHEED1DProcess use case model.
  2. As can be seen in Figures 2-3* the RHEED1DProcess has been designed as a slave process that runs as a separate thread inside each transaction generated by the master Growth09 program (See A. Daniluk, Model-Driven Development for scientific computing. Computations of RHEED intensities for a disordered surface. Part II. Comput. Phys. Commun. 181 (2010) 709).
  3. The RHEED1DProcess requires the user to provide the appropriate parameters for the crystal structure under investigation. These parameters are loaded from the parameters.ini file at run-time. Instructions on the preparation of the .ini files can be found in the new distribution.
  4. The RHEED1DProcess requires the user to provide the appropriate values of the layers of coverage profiles. The CoverageProfiles.dat file (generated by Growth09 master application) at run-time loads these values.
  5. The RHEED1DProcess enables carrying out one-dimensional dynamical calculations for the fcc lattice, with a two-atoms basis and fcc lattice, with one atom basis but yet the zeroth Fourier component of the scattering potential in the TRHEED1D::crystPotUg() function can be modified according to users' specific application requirements.

* The figures mentioned can be downloaded, see "Supplementary material" above.

Unusual features:
The program is distributed in the form of main projects RHEED1DProcess.cbproj and Graph2D0x.cbproj with associated files, and should be compiled using Embarcadero RAD Studio 2010 along with Together visual-modelling platform.
The program should be compiled with English/USA regional and language options.

Additional comments:
This version of the RHEED program is designed to run in conjunction with the GROWTH09, (ADVL_v3_0) program. It does not replace the previous, stand alone, RHEEDGR-09 (ADUY_v3_0) version.

Running time:
The typical running time is machine and user-parameters dependent.

[1] OMG, Model Driven Architecture Guide Version 1.0.1, 2003.