The Graphical User Interface
A main part of my thesis was the development of a high-performance classical MD simulation software packages in order to understand the required processes, routines and algorithms. During an earlier project at the Technical University of Graz, a basic classical MD simulator modelMD, including the graphical-user-interface simEdit was developed. These software packages were redesigned and further improved to meet the requirements of complex MD simulations with up to 10^6 particles.
This lecture was used to redesign the GUI simEdit.
simEdit is a graphical-user-interface (GUI), designed to create input files for the modelMD packages quickly and easily. The main program was implemented in Matlab, computation intensive subroutines in C++. Those are dynamically loadable by the MEX (Matlab Executable) data interface. Since the main task of this project was the creation of the GUI, physical input parameters wont be explained here in detail. In the following a brief introduction to the interface is provided.
Graphical User Interface
The GUI (see figures below) is arranged into three main domains: A parameter section on the left where all simulation parameters can be set, a preview window on the right that provides a dynamic preview of the simulation box and a menu at the bottom of the window.
To keep track of all input parameters, the parameter section consists of five basic tabs: Basics, Space, Particles, External Forces and Groups. As the name implies, in the Basics section, primary settings like the simulation name, unit adjustments, time and integration options as well as performance and data output options are set. The dimension of the problem, boundary condition parameters and the size of the simulation space are set in the Space tab. The Particles section allows to adjust all particle parameters like particle name, mass, charge, Lennard-Jones potential parameters and many-body options. Parameters for global external forces are set in the External Forces tab. This includes electric forces, magnetic forces and gravitation. The Groups section is probably the most powerful and important part of simEdit. Here particle groups (a cluster of particles of the same type) are assembled and initial positions, initial temperatures as well as additional velocities are assigned. According to a chosen initial temperature, velocities with random directions and a magnitude from a Maxwell-Boltzmann velocity distribution are applied.
The position of a group can be specified by a combination of right parallelepiped and spheres in three dimensions, respectively rectangles and circles in two-dimensional problems. Those geometric bodies are then filled with particles which positions are determined by using a regular lattice, by randomly positioned particles for a certain density or by randomly oriented particle chains of a maximum length. External forces, like harmonic oscillation potentials, friction or the connections with an ideal heat-bath, can be allocated to certain particle groups as well. A swap button allows simple swapping of group parameters.
The menu contains the following functions: Plot updates the preview window and creates a two or three-dimensional plot of the current group. All particle groups can be plotted with Plot All command. Save Data creates every input files that are required by modelMD and saves all parameters to a simulation.mat file. This data can later be retrieved with the Load Data command. Quit ends the program.