Many important problems for DOE such as combustion, magnetic fusion, systems biology, and climate change, involve multiple physical processes operating on multiple space and time scales. For these problems, the components of simulation become quite complicated, and strongly linked. There is a high level of uncertainty and empiricism to the design of the mathematical models, in contrast to the "first-principles" models used in other areas of science. The choice of model depends not just on the resolved scales, but on the specific scientific question being asked. Even when the models are well-characterized, we have an incomplete understanding of fundamental mathematical issues such as well-posedness.
In spite of these complications and substantial problem dependence, there is still a great deal of coherence in the underlying mathematical representations of these problems. They are all described in terms of various generalizations of the classical elliptic, parabolic and hyperbolic partial differential equations (PDE) of mathematical physics. The enormous variety and subtlety in these applications comes from the way the PDE are coupled, generalized, and combined with models for other physical processes. The complexity of these models lead to a diverse collection of requirements on the numerical methods, with many open questions about stability of coupled algorithms. Model complexity also renders the problem of obtaining high performance very difficult. There are tradeoffs between the models, the discretizations, and the software, with a combination of analysis and computational experiments used to explore the design space. This places a premium on the availability of a diverse and agile software toolset that enables experimentation.
The SciDAC Applied Partial Differential Equations Center for Enabling Technologies (APDEC) is developing a collection of algorithmic and software components that can be assembled to simulate a broad range of complex multicomponent physical systems in which partial differential equations plays a central role. Specifically, our goal is to enable the agile development of high-performance simulation codes for complex multiphysics and multiscale applications, by providing a flexible toolset that meets the following requirements:
- Capability - a sufficient variety of tools to support the broadest possible range of applications and the ability to combine the tools in as many ways as possible;
- Expressiveness - a factoring of the tools so that non-essential details are hidden from the user that doesn't need them, while providing access to those details to a user that wants to customize the capabilities in the software; and
- Performance - the implementation of the tools to obtain the highest possible performance on high-end platforms.
The development of simulation software for complex applications is an end-to-end activity, with the choices regarding models, discretizations and software all strongly interacting with one another, and with fundamental mathematical questions that underlie these choices. For that reason, we work closely with applications developers in all aspects of the design of their simulation codes. In particular, members of the APDEC team are taking the lead on the development of new simulation capabilities in two applications areas: MHD modeling of tokamaks, and combustion. In addition, we are collaborating with other SciDAC projects in accelerator modeling and astrophysics to assist them in using various components from the APDEC software suite. Finally, we are working with investigators in a broad range of discplines on non-SciDAC projects to assist them in developing new simulation capabilities as part of our outreach efforts.