An object-oriented software design for the direct simulation Monte Carlo method

Alexander V. Kashkovsky, Gennady N. Markelov, Mikhail S. Ivanov · 2001

Orientation to programing language C++ is inspired by our desire to impart new properties to the DSMC module, which would facilitate its installation, computations, upgrading, and generation of a flexible system of manipulation of separate computational functions. At the present time, the functional decomposition strategy is commonly used for the DSMC method 1. It tends to make different parts of programs highly coupled, with strong interdependencies between program units. This tight coupling makes it difficult to extend such programs to utilize different algorithms and models, since changing each part requires extensive crossreferencing with other parts, and consequently, a larger proportion of such a program needs to be altered, tested, and validated. In addition, nowhere is this direct dependency explicitly declared. Instead, it is implied that the changes to data occurring within a given subroutine emerge from it in a state which is correct for the next executing subroutine. This implicit dependency is dangerous from a software engineering perspective, because any errors occurring will generally cause an error at runtime, where they are expensive to fix, rather than at compilation-t ime, where fixing is cheap. Software engineers cite these aspects of functionally decomposed systems as reasons why they are in general harder and more expensive to learn, change, and test 2- 3.

Read the paper · More papers on PaperTik