figshare
Browse
chem.pdf (172.94 kB)

A Programming Framework for Physics

Download (0 kB)
dataset
posted on 2015-10-09, 18:09 authored by Steven BrandtSteven Brandt

The fundamental difficulty with scientific software is that the existing languages are either
too general-purpose and too low-level, or both. Thus, physics equations are entangled with the
way they are implemented, even to low level details such as grid structure, cache optimization,
etc. Because everything is coupled, it is difficult for the various scientific communities to adapt to
algorithm or hardware advances. More importantly, it means that researchers cannot specialize
as easily. Everyone must understand physics, software engineering, and computer science to a
to a very deep level, and the learning process, especially for students, is much more arduous
than it needs to be.
In principle, it should be possible to independently specify (1) the scientific equations to be
solved; (2) the type of grids; (3) the type of numerical methods, e.g. time integrators, elliptic
solvers; (4) the intended execution platform (desktop, accelerated cluster, etc.); (5) performance
goals, e.g. as fast as possible, minimum cost, etc.

 

History

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC