Title :
Data sharing in scientific simulations
Abstract :
Several physics processes modify the state of a scientific simulation over time. In fact, researchers often divide a simulation\´s development into areas - called packages - according to physics specialization. In this article, we use the word "package" primarily to mean a portion of scientific software whose components communicate internally much more than they do with outside routines, but packages can take the form of third-party libraries for common mathematical or computer science functions. Most parts of a simulation refer to the "infrastructure" portion of the state, so we can think of this portion as a package with lots of customers. How we share data within and between these packages is crucial to developer productivity. In this installment of Scientific Programming, we explore some of the pros and cons of the different ways to share data in C++ code.
Keywords :
C language; Java; digital simulation; object-oriented programming; physics computing; software libraries; C++; Java; Python; component communication; computer science functions; data sharing; infrastructure; mathematical functions; physics processes; programming languages; scientific simulations; scientific software; simulation development; third-party libraries; Computational modeling; Libraries; Physics;
Journal_Title :
Computing in Science & Engineering
DOI :
10.1109/MCISE.2004.1289316