Applied Numerical Mathematics - Special issue: a festschrift to honor Professor Robert Vichnevetsky on his 65th birthday
Object Oriented Programming Via FORTRAN 90/95
Object Oriented Programming Via FORTRAN 90/95
An overview of the Trilinos project
ACM Transactions on Mathematical Software (TOMS) - Special issue on the Advanced CompuTational Software (ACTS) Collection
Towards analysis-driven scientific software architecture: The case for abstract data type calculus
Scientific Programming - Complexity in Scalable Computing
Design patterns for multiphysics modeling in Fortran 2003 and C++
ACM Transactions on Mathematical Software (TOMS)
On the object-oriented design of reference-counted shadow objects
Proceedings of the 4th International Workshop on Software Engineering for Computational Science and Engineering
Scientific Software Design: The Object-Oriented Way
Scientific Software Design: The Object-Oriented Way
Modern Fortran Explained
This Isn't Your Parents' Fortran: Managing C++ Objects with Modern Fortran
Computing in Science and Engineering
Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
We present the first three-dimensional, partial differential equation solver to be built atop the recently released, open-source ForTrilinos package http://trilinos.sandia.gov/packages/fortrilinos. ForTrilinos currently provides portable, object-oriented Fortran 2003 interfaces to the C++ packages Epetra, AztecOO and Pliris in the Trilinos library and framework [ACM Trans. Math. Softw. 313 2005, 397--423]. Epetra provides distributed matrix and vector storage and basic linear algebra calculations. Pliris provides direct solvers for dense linear systems. AztecOO provides iterative sparse linear solvers. We demonstrate how to build a parallel application that encapsulates the Message Passing Interface MPI without requiring the user to make direct calls to MPI except for startup and shutdown. The presented example demonstrates the level of effort required to set up a high-order, finite-difference solution on a Cartesian grid. The example employs an abstract data type ADT calculus [Sci. Program. 164 2008, 329--339] that empowers programmers to write serial code that lower-level abstractions resolve into distributed-memory, parallel implementations. The ADT calculus uses compilable Fortran constructs that resemble the mathematical formulation of the partial differential equation of interest.