Parallel Computing
Viktor's most recent work involves development of the parallel architecture which was mainly designed for the dynamic forkflow. He came on board of this project in August 2003. The goal was to port the software (written mainly in Java) of 3D colour video capture system onto the parallel architecture using Grid tools. After a background reading and talking to Grid experts, it became apparent that state of the art on Grid technology did not readily meet the requirements of the system. In just about a year of Viktor's research, he develped a Java API (called Jπ) that not only enables an inhouse software to execute its components concurently on heterogeneous remote CPU resources, but also can be used as a substratum for variety of numerical computations that require a dynamic job creation and reconfiguration of the network between these jobs. Currently (September-December 2004) Viktor is performing a final tests of Jπ API. Open source code, javadoc, documentation and tutorials will become available shortly on Jπ API website. Viktor is currently preparing a short research proposal on the agent based simulation of human interactions, using Jπ. Another proposal, initiated by Viktor and submitted with his current supervisor would extend Jπ, e.g. including CPU marketing system that should encourage personal computer users to provide their resources. Details on grant proposals are becoming available here).

Numerical Modelling
Since November 1998 Viktor has been involved in a PhD project on mesoscopic modelling of liquid crystals (LC). For this purpose a lattice model was chosen, yielding rapid results, which allowed simulation of mesogenic particles on a relatively large scale (from 4,096 to 125,000 particles). The simulation code was done in C and ran under UNIX on SGI clusters. Several codes (over 3,000 lines each) were developed for simulating various systems in two statistical ensembles (NcVT and NmVT) using Monte Carlo importance sampling. Some of the features of the simulation code were:
External Field (a uniformly distributed field can be applied to the system with various direction and strength)
Boundary Conditions (a set of boundary conditions were written, to be used for variety of purposes)
Slicing (the system's observables can be measured in any plane of the 3D lattice, so that a profile of an observable in one of 3 directions could be calculated. This is particularly useful in the system with confined boundary conditions)
Number and Type of Components (any number of components can be easily set (subject to the size of the system) with predefined concentrations or concentration distributions, e.g. Gauss. The code can be easily modified to sample a mixture of discotic and nematic LC, biaxial or bipolar particles, i.e. banana shaped or flexoelectric LC, etc.)
Output (the code calculates a number of standard functions and observables such as the second rank orientational order parameter derived from the pair correlation function, radial distribution function, energy histograms, preferred concentration and order parameter (NmVT), etc.)
A number of auxilary codes in C and Unix Shell script were designed to post-process and analyse data, such as re-weighting technique.
Some results obtained using this software are shown in 'work' and Moddeling Group Page.

2D Ising model with non-trivial periodic boundary conditions was studied using the Monte Carlo technique. Owing to the specifics of the model, standard observables such as order parameter, magnetic susceptibility lost their meaning. To determine the phase characteristics of the system several image recognition algorithms were developed. They allowed identification of the interface between phases, its characteristics, the number and size of domains, etc. Some screenshots of the draft software can be found in section 'work profile.computers.2D Ising'.

One of the necessities of Viktor's job on PGP Grid project was looking into 3D Stereo-correlator algorithm for its further parallelisation. It was one of the world's first non-marker based 3D matching algorythms, developed by 3D-Matic team at Glasgow University. The algorithm works similarly to human brain; it recreates the surface of the object observed by the method of triangulation between each point on the surface and the pair of eyes. Viktor is only starting to unravel the ideas wrapped into the algorythm. As always, because of the time pressure and other commitments this process is slower than he would desire. Nonetheless, Viktor tries to apply what he have already learnt into practice, by writing grant proposals on how to improve the system (submitted) and how to use the system to tackle new problems in science (writing) (details on these are becoming available here).


©2002-2004 Viktor Yarmolenko