A Programming Framework for Physics Steven Brandt 10.6084/m9.figshare.1570986.v1 https://figshare.com/articles/dataset/A_Programming_Framework_for_Physics/1570986 <p>The fundamental difficulty with scientific software is that the existing languages are either<br>too general-purpose and too low-level, or both. Thus, physics equations are entangled with the<br>way they are implemented, even to low level details such as grid structure, cache optimization,<br>etc. Because everything is coupled, it is difficult for the various scientific communities to adapt to<br>algorithm or hardware advances. More importantly, it means that researchers cannot specialize<br>as easily. Everyone must understand physics, software engineering, and computer science to a<br>to a very deep level, and the learning process, especially for students, is much more arduous<br>than it needs to be.<br>In principle, it should be possible to independently specify (1) the scientific equations to be<br>solved; (2) the type of grids; (3) the type of numerical methods, e.g. time integrators, elliptic<br>solvers; (4) the intended execution platform (desktop, accelerated cluster, etc.); (5) performance<br>goals, e.g. as fast as possible, minimum cost, etc.</p> <p> </p> 2015-10-09 18:09:04 gpu accelerators computer science Computer Software