SSP Project Summary
Discrete Element Modeller 2
[EPCC home] [SSP home] [2001 projects] [2000 projects] [1999 projects] [1998 projects] [1997 projects] [1996 projects] [1995 projects] [1994 projects] [1993 projects]

Student

Timotej Ecimovic, University of Ljubljana, Slovenia

Supervisors

Mario Antonioletti, EPCC

JM Rotter, Department of Civil and Environmental Engineering, University of Edinburgh

JM Holst, Department of Civil and Environmental Engineering, University of Edinburgh

JY Ooi, Department of Civil and Environmental Engineering, University of Edinburgh


This project aims to decouple a run time visualiser from a core MPI application to increase its portability across MPPs. The visualiser will still be available but the core application will subsequently communicate with the visualiser via a sockets interface. The core application will then run on any MPP or NOWs while the display can be done at run time potentially on a separate graphics work engine. The resulting code will subsequently be used to perform a calculation investigating the material behaviour of discrete particles under shear. This will make a significant contribution to a major existing international collaborative project. This project has already received widespread acknowledgment with almost 50 submissions to date and 120 interested research groups from academic and commercial institutions all over the world. This submission will be one of only two performed on a highly parallel machine. Preliminary findings from the submissions previously received were recently reported at a major international conference in Prague (CHISA `96).

The core application at the heart of this proposal models the discharge of particles from a silo using a discrete element model. The serial code was originally written by Graham Rong from the department of Civil Engineering at the University of Edinburgh. The code was subsequently parallelised by Thomas Schroder during the 1995 SSP. The visualiser, which uses a combination of Motif and OpenGL to do the drawing, was later added by EPCC members of staff so that the application might serve as a demonstrator for Digital at Super Computing 1996 in Pittsburgh, USA. The code is currently being developed as one of EPCC-TEC's parallel application demonstrators which will show source portability and scalability across a range of different platforms.

In its present state the visualiser code, written in C, and the core application written in Fortran are tightly coupled within the same application. The MPI program allows one process exclusively to run the visualiser while the remaining processes run the Fortran code. This assumes that cross calling between C and Fortran using MPI calls works - this is not mandated by the present version of the MPI standard albeit some implementations do appear to support this across the same platform, e.g. MPI-CH. This then potentially reduces the portability of the present version of the code. Moreover not all systems will allow a visualiser to be run directly off the machine, e.g. the Cray T3D. It would thus be of great benefit and greatly increase the application's portability if the visualiser and core application could be decoupled. The core MPI application would thus run on the target machine and communicate with the visualiser, which need not be on the same machine, using Unix sockets. The visualisation environment could advantageously be a dedicated visualisation system. For instance within the EPCC framework the application could be run on the Cray T3D and the run time visualiser could be run on the SGI Indigo2 High Impact machine, sphene.

The mechanism for achieving the decoupling already exists. The underlying sockets library to be used was developed by Klass Jan Wierenga for the 1996 SSP Dive project. [It would not be desirable to use Dive directly as this presently coupled to AVS as the underlying visualiser (which is not cheap nor universally available) hence not really increasing the codes portability. It may be possible to decouple AVS but this would require too much work]. It may also seem a little crazy to use sockets when MPI is available!! HOWEVER in most cases it is not be possible to use the same MPI implementation at the visualiser and MPP end, e.g. the Cray T3D and the graphics SGI system. Thus the same sockets library as used within Dive would be taken as the starting point for achieving the connection between the visualiser and the core MPI application. This library has already been shown to establish lines of communication portably across a whole range of systems (Cray J90-Sun work station, Cray T3D-Sun workstation, Cray T3D-SGI, etc.). This library would thus be used to decouple the core MPI application from the visualiser. The portability of the code can be further increased by ensuring that the socket routines used are implemented through a software interface. The socket library thus will not be accessed directly. Hence if the sockets communications interface is not available for a given platform to which the application must be ported to in the future then the underlying routines can be rewritten without having to modify the application or the visualiser. Alternatively if X, OpenGL and Motif are not available under a given system then the visualiser could be rewritten without having to modify the core application.

The subsequent runs, of interest to the Civil Engineering department, will be performed by the SSP student using the existing code, although some minor modifications may have to be made. These may consist of the numerical simulation of a shear box test using the discrete element method (DEM) but is dependant on the amount of code modification required. I have been assured that it should be possible to do this with the existing code. The behaviour of granular materials, such as those stored in silos, has been investigated for more than two hundred years. However, the basic physical understanding of granular media is far from complete. No general theory for the mechanics of granular materials exists to date, and numerical simulations seem to be a promising technique to obtain further insight into their dynamics. These simulations can be used to assist in the development of strategies for storage device design. In this project a notional material will be filled into a box and consolidated.The frictional properties of the particles will then be estimated by shearing the material under an applied compressive stress.


The final report for this project is available here.
Webpage maintained by mario@epcc.ed.ac.uk