Title :
PyNSol: objects as scaffolding
Author_Institution :
Dept. of Geophys. Sci., Chicago Univ., IL, USA
Abstract :
The author presents a design for a software framework in which object-orientation is used intensively during the construction of an executable but where there is no runtime presence of objects at all. Indeed, they can´t be present because the final executable will be compiled and linked from Fortran 77 source. This counterintuitive strategy emerges from the problem domain and its constraints; it is presented here both for its intrinsic interest and for the new light it sheds on how object-orientation can be useful in scientific programming. The hypothesis presented here isn´t that object-oriented programming is generally inappropriate - rather, the author proposes that the effective use of object techniques is a consequence of good design, not a precondition for it. PyNSol, the Pythonic Numeric Solver is an application development environment for finite difference and finite volume numerical methods. PyNSol is targeted to support researchers in the environmental sciences, but it could also be useful in other settings. PyNSol is discussed here primarily as an example of an alternative approach to scientific computing.
Keywords :
FORTRAN; finite difference methods; finite volume methods; natural sciences computing; object-oriented programming; Fortran 77; PyNSol; Pythonic Numeric Solver; application development environment; environmental sciences; finite difference methods; finite volume numerical methods; object-oriented programming; scaffolding; scientific computing; Adaptive mesh refinement; Chemistry; Computer languages; Finite difference methods; Finite element methods; Geophysical measurements; Object oriented modeling; Physics; Scientific computing; World Wide Web; OO; object orientation; object-oriented; objects;
Journal_Title :
Computing in Science & Engineering
DOI :
10.1109/MCSE.2005.78