Skip to main content Skip to secondary navigation

Symbolic Scientific Computing for Multiscale Systems

Main content start

“Many persons who are not conversant with mathematical studies imagine that because the business of the [Babbage’s Analytical] engine is to give its results in numerical notation, the nature of its processes must consequently be arithmetical and numerical rather than algebraical and analytical. This is an error. The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols; and in fact it might bring out its results in algebraic notation were provisions made accordingly.” 
Ada Augusta, Countess of Lovelace, 1842

For the past decades, the primary focus of multiscale modeling and simulations across disciplines, including flow and transport in porous media, has been on the development of efficient and accurate numerical schemes and algorithms with different levels of coupling across adjacent scales. Although the application of the mathematical machinery (upscaling methods such as homogenization, volume averaging, thermodynamically constrained averaging, etc) needed to derive evolution equations at different scales is time consuming, prone to error and easily intractable for complex systems with tens or hundreds of equations, it has been so far considered, to the best of our knowledge, exclusively a human endeavor. As a result, such rigorous analyses have primarily been applied to systems of limited complexity (as compared to the complexity of real systems), as to render manual mathematical manipulations amenable. This has limited the use of rigorous mathematical upscaling methods in practical applications, where complexity is not a tuning parameter and users may not be keen to become acquainted with the technicalities of upscaling methods.

Symbolic computation, the science and technology that aims at automating a wide range of processes involved in solving problems in mathematical-physics, emphasizes on discrete and exact (versus approximate as in numerical) computations where symbols represents mathematical objects, subject to predefined rules. Although symbolic computing is routinely used in certain branches of applied and theoretical mathematics and computer science, formalisms such as those involved in high level manipulations of mathematical constructs involved in upscaling methods had never been implemented before. To address these challenges, we have developed a symbolic code, Symbolica, able to perform upscaling by homogenization on various types of PDEs. See Figure 2. 

Symbolica logo

Symbolica, developed in Mathematica:

  1. is a symbolic computational code for automated and accelerated multiscale model development.
  2. Enables efficient implementation of homogenization theory in complex, scientific investigations,
  3. Democratizes rigorous, analytical model development methods for practical applications
  4. provides access to model development methods in a similar fashion to how computational physics softwares provide access to numerical methods.

Symbolica paves the way for the automation of a number of high level hierarchical recursive mathematical operations/manipulations involved in the derivation of deterministic and stochastic PDEs, including but not limited to TCAT, Volume averaging, Method of moments, pdf methods, etc. Symbolica’s current capabilities:

Symbolica flowchart

Figure 2. A flowchart of the homogenization procedure completed by Symbolica. Reproduced from [1]

  1. Upscaling of linear and nonlinear advection-reaction-diffusion equations for arbitrary number of equations and reactants
  2. Upscaling is executed in few seconds (versus months of manual manipulations)
  3. Upscaling of heat transfer equations with nonlinear forcings
  4. Handling Multidomain systems (domains with parameters contrasts, and inclusions)
  5. Upscaling with second order accuracy

Current efforts include:

  1. Generalizations to handle the upscaling of vectorial equations (e.g. the Navier Stokes equations)
  2. Generalization to handle other methods (e.g. methods of moments, pdf methods, etc.)
  3. Generalization to derive across-scale coupling conditions when upscaling fails

Our group is focused on the development of the algorithmic and computer algebra structures necessary to develop symbolic computing capabilities to handle a variety of high-level problems associated with multiscale systems in mathematical physics, with specific focus on single and multiphase flow reactive transport in porous media. The overall objective is to dramatically speed-up the conceptual (PDEs) and numerical development of multiscale algorithms from years/decades to days/months, to address and respond to ever evolving challenges.


[1] Pietrzyk, K., Bucci, G., Korneev, S., Behandish, M., Battiato, I., ’Automated Upscaling via Symbolic Computing for Thermal Runaway Analysis in Li-ion Battery Modules’, to be submitted to J. Comput. Science (2023).

[2] Pietrzyk, K., Battiato, I., “Automated Symbolic Upscaling: Model Generation for Extended Applicability Regimes, Part 1”, Submission code: 2022WR033600, In Review, Water Resour. Res., DOI (2022).

[3] Pietrzyk, K., Battiato, I., “Automated Symbolic Upscaling: Model Generation for Extended Applicability Regimes, Part 2”, Submission code: 2022WR033602, In Review, Water Resour. Res. DOI (2022).

[4] K. Pietrzyk, S. Korneev, M. Behandish, Battiato, Upscaling and Automation: Pushing the Boundaries of Multiscale Modeling through Symbolic Computing, Transp. Porous Med. 140, pages 313–349 (2021).