Wednesday, November 7, 2007 - 9:15 AM
369d

Designing Simulation Software And Algorithms For Adaptive, Multiscale Simulations

Naveen K. Punati and James C. Sutherland. Chemical Engineering, The University of Utah, 3290 MEB 50 S. Central Campus Dr., Salt Lake City, UT 84112-9203

Turbulent reacting flow remains a significant modeling challenge due to its nonlinear and multiscale nature. Advances in modeling and simulation will require significant advances in numerical algorithms, computing capability, software design, and fundamental knowledge of physics. In addition, adaptivity in numerical discretization, in algorithms, and in model form create significant challenges when creating a multipurpose simulation tool. For example, changes in model form may stem from changes in constitutive models, or addition/removal of equations from the system to be solved. In an adaptive simulation, such changes may happen during the course of the simulation

This talk will address aspects of software and algorithm design that facilitate extensible and flexible model implementation. Specifically, the notion of an expression as a fundamental abstraction will be introduced. An expression is a abstraction of mathematical expression which is composed of other expressions as well as mathematical operators. As such, it may be differentiated analytically (or numerically if the expression has no reliable analytic derivative, i.e. for tabular data). We aim to solve systems of PDEs of the form

∂ρφi- =   - ∇ ⋅(ρφiu) - ∇ ⋅J φ + sφ,
 ∂t                          i    i
      =   Fi(φj).                                               (1)
where u is the mass-averaged fluid velocity, ρ is the mixture mass-density, Jφi is the mass-diffusive flux of ρφi and sφi is a source term. Maximum flexibility is desired in expressions for the constitutive relationships for Jφi and sφi, which are generally nonlinear functions of φj and φj. As implied by writing ∂ρφi-= F (φ ),
 ∂t     i  j

the equations are nonlinearly coupled, potentially through all of the terms (convective, diffusive, source) in equation (1).

Software to solve equations (1) must be able to handle, in a generic (i.e. without specific assumptions regarding form of each term) and extensible (e.g. allow dynamic addition and/or removal of terms) fashion, any or all of the terms represented in (1). Furthermore, it is highly advantageous to allow flexibility not only in the mathematical form for these terms, but also in the discrete representation (in both space and time) of these terms. In most current codes, the governing equations are discretized with a particular subset of numerical schemes in mind. For example, in solving (1), a fully explicit time-integrator simply evaluates Fi(φj) directly, while a fully implicit time-integrator may only require evaluation of the sensitivities       ∂Fi
Sij ≡ ----
      ∂φj

of (1). Traditionally, the software design for these two schemes looks very different, unless one resorts to fully numerical approximations to ∂Fi∕∂φj, which may result in a loss of efficiency and robustness in the algorithm.

This talk will outline the approach to such a software design, and will present some results from solutions of nonlinearly coupled PDEs to demonstrate its efficacy. Among the strengths of this approach are the following: