9412909
Some issues in a functional implementation of a finite element algorithm
We describe our experience of implementing a finite element algorithm for simulating fluid dynamics using Haakell. The main emphasis ia on issues arising from implementing a direct method and an iterative method for solving sparse matrix systems that arise in applying the finite element method. For the direct method, it is demonstrated that a Quadtree data structure, described by Wise and Wainwright et al. [1, 2], is generally fester than other list baaed data structures. Aleo it ia not very sensitive to the sparsity structure. For the iterative method, we look at a complex assembly process and compare two coding schemes. The usual procedural algorithm is, as might be expected, not the best in a functional implementation. We also discuss our experience in coding these algorithms.
18699103
Experiences of Parallelising Finite-element Problems in a Functional Style
Experiences are described of parallelizing a functional finite-element program (written in Haskell) for the solution of computational fluid-dynamics problems. A transformation prototyping approach using a system developed at the University of York, which simulates idealised parallel machines on a conventional sequential workstation, is presented. In this paper we demonstrate: (a) the relative simplicity of the functional approach for parallelizing a complex program compared with the conventional procedural approach; (b) the suitability of functional languages for prototyping parallel algorithms to improve an implementation; and (c) the considerable assistance provided by the simulator.
27831253
Sparse Matrix Representations in a Functional Language
This paper investigates several sparse matrix representation schemes and associated algorithms in Haskell for solving linear systems of equations arising from solving realistic computational fluid dynamics problems using a finite element algorithm. This work complements that of Wainwright and Sexton (1992) in that a Choleski direct solver (with an emphasis on its forward/backward substitution steps) is examined. Experimental evidence comparing time and space efficiency of these matrix representation schemes is reported, together with associated forward/backward substitution implementations. Our results are in general agreement with Wainwright and Sexton's.
11105544
Solving Computational Fluid Dynamics Problems on Unstructured Grids with Distributed Parallel Processing
This paper describes a distributed parallel implementation of a finite element method for simulating incompressible viscous flows. When applied to unstructured finite element meshes, a conventional implementation of this algorithm becomes particularly space demanding for the storage of system matrices. This parallel implementation not only results in a faster computation but is also potentially capable of solving much larger problems as data and system matrix blocks are distributed. Experimental results demonstrating these key features are presented.
35595997
Parallel simulation of a multi-dimensional computational fluid dynamics problem
The simulation of computational fluid dynamics problems in two and more dimensions involves computations of multiple degrees of freedom, such as the components of velocity, which are an obvious source of parallelism. Further to our previous investigation in this area we report on our current experiences in extracting such parallelism on a distributed network platform. A finite element method for simulating incompressible viscous flows is parallelised using a domain decomposition approach. Various issues that arise in this implementation are discussed in the light of our experimental results.
16742949
Evaluation of the matrix exponential function using finite elements in time
The evaluation of a matrix exponential function is a classic problem of computational linear algebra. Many different methods have been employed for its numerical evaluation (Moler C and van Loan C 1978 SIAM Review 20 4), none of which produce a definitive algorithm which is broadly applicable and sufficiently accurate, as well as being reasonably fast. Herein, we employ a method which evaulates a matrix exponential as the solution to a first-order initial value problem in a fictitious time variable. The new aspect of the present implementation of this method is to use finite elements in the fictitious time variable. (Weatherford C A, Red E, and Wynn A 2002 Journal of Molecular Structure 592 47) Then using an expansion in a properly chosen time basis, we are able to make accurate calculations of the exponential of any given matrix as the solution to a set of simultaneous equations.
20657103
Linear MMSE space-time equalizer for MIMO multicode CDMA systems
We propose an enhanced chip-level linear space-time (ST) equalizer for multiple-input multiple-output (MIMO) multicode code-division multiple-access (CDMA) systems. In the MIMO multicode CDMA systems, the reuse of the same spreading codes in different transmit antennas significantly degrades the equalization performance if the ST equalizer uses a minimum mean-squared error (MMSE) weighting vector that minimizes the mean-squared error of the equalizer output chip sequence. As the CDMA despreader concatenated to an ST equalizer distorts interstream interference components differently from multipath interference and background noise components, the chip-level MMSE weighting vector usually steers in suboptimal directions in the signal space. Therefore, we propose a new MMSE weighting vector that takes the despreading effect into account in this paper. Simulation results show a substantial performance improvement through the new weighting vector
31532026
Bio-Inspired Reconfigurable Architecture for Reliable Systems
2980184
Supporting Scalable and Distributed Data Subsetting and Aggregation in Large-Scale Seismic Data Analysis
The ability to query and process very large, terabyte-scale datasets has become a key step in many scientific and engineering applications. In this paper, we describe the application of two middleware frameworks in an integrated fashion to provide a scalable and efficient system for execution of seismic data analysis on large datasets in a distributed environment. We investigate different strategies for efficient querying of large datasets and parallel implementations of a seismic image reconstruction algorithm. Our results on a state-of-the-art mass storage system coupled with a high-end compute cluster show that our implementation is scalable and can achieve about 2.9 Gigabytes per second data processing rate – about 70% of the maximum 4.2GB/s application-level raw I/O bandwidth of the storage platform.
7674451
A Reconfigurable Self-Healing Embryonic Cell Architecture
The long-term goal of our work described in this paper is the development of a biologically-inspired cellular fault-tolerant hardware system. The basic structure of the system is a multi-cellular embryonic array that is capable of achieving self-diagnostics, self-repair and fault recovery. The ‘nucleolus’ of the cell is a general purpose function unit comprised of a 2-to-1 multiplexer and a Dtype flip-flop. Input and configuration data to the function unit are provided by the DNA segment memory and I/O router. A diagnostic logic monitors the error free operation of the cell. When an error is detected the diagnostic logic requests the reconfiguration unit to kill the cell, transferring its function to a fault-free neighbouring cell. Once permission is granted, the faulty cell is eliminated and becomes transparent. The functionality of each cell will shift in the array until a spare cell is found. Finally the whole embryonic array recovers. Fault-free operation is then continued.