There are two main types of multiblock computations- implicit and explicit. In an implicit computation a global matrix, which represents the entire problem domain, is formed and solved. Implicit computations require a fast sparse matrix solver, and are typically used for steady-state problems. In an explicit computation, the solution proceeds locally, computing new values based on the values of nearby points. Explict computations often have stability criteria, and are typically used for time-dependent problems.
The CHARM++ multiblock framework allows you to write a parallel explicit multiblock program, in C or Fortran 90, by concentrating on what happens to a single block of the domain. Boundary condition housekeeping and ``ghost cell'' exchange are all handled transparently by the framework. Using the multiblock framework also allows you to take advantage of all the features of CHARM++, including adaptive computation and communication overlap, run-time load balancing, performance monitoring and visualization, and checkpoint/restart, with no additional effort.
October 08, 2008
MBlock Homepage
Charm Homepage