The MDM codes are based on a semi-analytical approach in which single coated fibers and the surrounding composite material are represented as a nested set of concentric shells. Stresses and displacements at prescribed points along the length of the cylinder are determined by evaluation of a polynomial function. Numerically challenging conditions arise during the construction of this function. The method is relatively stable for coarse discretizations, but such analyses can result in unacceptable levels of error, so the ability to handle very thin shells is essential. The implication is that the portability of the MDM applications was sacrificed in order to achieve the highest possible level of accuracy, but the fundamental numerical problem is inherent in the algorithm itself.
Performance also suffers because quad-precision operations rely on a software layer.
Following a review of the project's origins and some of the more interesting aspects of the science that the MDM suite addresses, we will attempt to summarize the sources of numerical difficulty and performance problems in very basic terms and then illustrate how our alternative approach will dispatch with these problems. The primary goal of this project is to create a portable version of the MDM solver kernel capable of extracting equivalent levels of accuracy from a standard 64-bit floating point system. Because the proposed numerical scheme is quite different from the current semi-analytical approach, we have concentrated our efforts on the advancement of our understanding of the current model and its primary data structures. Identification of key data structures and program entry points has also been completed. This project is currently in-progress.