The solution of a number of challenging multi-scale mutiphysics problems in computational science and engineering on petascale and (hopefully) exascale computers is considered in the context of the Uintah software framework developed at the University of Utah.
Uintah allows the solution of large-scale, fluid-structure interaction problems through the use of fluid flow solvers coupled with particle-finite element based solid methods. In addition Uintah uses a combustion solver to tackle a broad and challenging class of turbulent combustion problems. A unique feature of Uintah is that it uses an asynchronous task-based approach with automatic load balancing to solve complex problems using techniques such as adaptive mesh refinement. At present, Uintah is able to make full use of present-day massively parallel machines as the result of three phases of development over the past dozen years. These development phases have led to an adaptive scalable run-time system that is capable of independently scheduling tasks to multiple CPUs cores and CPUs on a node. In the case of solving low-mach number applications it is also necessary to use linear solvers and to consider the challenges of radiation problems. The approaches adopted to achieve present scalability are described, and their extensions to possible future architectures and challenging future problems such as multiscale materials by design are considered.