Exploring capabilities within ForTrilinos by solving the 3D Burgers equation

  • Authors:
  • Karla Morris;Damian W. I. Rouson;M. Nicole Lemaster;Salvatore Filippone

  • Affiliations:
  • Sandia National Laboratories, Livermore, CA, USA;Sandia National Laboratories, Livermore, CA, USA;Sandia National Laboratories, Livermore, CA, USA;Università di Roma “Tor Vergata”, Roma, Italy

  • Venue:
  • Scientific Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.