Skip to main content
Log in

Upscaling and Automation: Pushing the Boundaries of Multiscale Modeling through Symbolic Computing

An Introduction to Symbolica

  • Published:
Transport in Porous Media Aims and scope Submit manuscript

Abstract

Macroscopic differential equations that accurately account for microscopic phenomena can be systematically generated using rigorous upscaling methods. However, such methods are time-consuming, prone to error, and become quickly intractable for complex systems with tens or hundreds of equations. To ease these complications, we propose a method of automatic upscaling through symbolic computation. By streamlining the upscaling procedure and derivation of applicability conditions to just a few minutes, the potential for democratization and broad utilization of upscaling methods in real-world applications emerges. We demonstrate the ability of our software prototype, Symbolica, by reproducing homogenized advective–diffusive–reactive (ADR) systems from earlier studies and homogenizing a large ADR system deemed impractical for manual homogenization. Novel upscaling scenarios previously restricted by unnecessarily conservative assumptions are discovered, and numerical validation of the models derived by Symbolica is provided.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  • Multiscale models of flow and transport. In: J.H. Cushman, D.M. Tartakovsky (eds.) The Handbook of Groundwater Engineering, chap. 12, pp. 359–381. CRC Press (2016)

  • Allarie, G., Raphael, A.L.: Homogenization of a convection-diffusion model with reaction in a porous medium. C. R. Math. 344, 523–528 (2007)

    Article  Google Scholar 

  • Amaziane, B., Koebbe, J.: JHomogenizer: a computational tool for upscaling permeability for flow in heterogeneous porous media. Computat. Geosci. 10, 343–359 (2006)

    Article  Google Scholar 

  • Arunachalam, H., Korneev, S., Battiato, I., Onori, S.: Multiscale modeling approach to determine effective lithium-ion transport properties. In: Proceedings of the 2017 IEEE American Control Conference, pp. 92–97 (2017)

  • Arunachalam, H., Onori, S., Battiato, I.: On veracity of macroscopic lithium-ion battery models. J. Electrochem. Soc. 162, A1940–A1951 (2015)

    Article  Google Scholar 

  • Auriault, J.L., Adler, P.M.: Taylor dispersion in porous media: Analysis by multiple scale expansions. Adv. Water Resour. 18, 217–226 (1995)

    Article  Google Scholar 

  • Bachmat, Y., Bear, J.: Macroscopic modeling of transport phenomena in porous media. 1: The continuum approach. Transport Porous Med. 1, 213–240 (1986)

    Article  Google Scholar 

  • Bahmani, B., Yang, M., Nagarajan, A., Clarke, P.L., Soghrati, S., Abedi, R.: Automated homogenization-based fracture analysis: Effects of SVE size and boundary conditions. Comput. Methods Appl. Mech. Engrg. 345, 701–727 (2019)

    Article  Google Scholar 

  • Battiato, I., Ferrero V, P.T., O’Malley, D., Miller, C.T., Takhar, P.S., Valdés-Parada, F.J., Wood, B.D.: Theory and applications of macroscale models in porous media. Transport Porous Med. 130, 5–76 (2019)

  • Battiato, I., Tartakovsky, D.M.: Applicability regimes for macroscopic models of reactive transport in porous media. J. Contam. Hydrol. 120–121, 18–26 (2011)

    Article  Google Scholar 

  • Battiato, I., Tartakovsky, D.M., Tartakovsky, A.M., Scheibe, T.: On breakdown of macroscopic models of mixing-controlled heterogeneous reactions in porous media. Adv. Water Resour. 32, 1664–1673 (2009)

    Article  Google Scholar 

  • Battiato, I., Tartakovsky, D.M., Tartakovsky, A.M., Scheibe, T.D.: Hybrid models of reactive transport in porous and fractured media. Adv. Water Resour. 34, 1140–1150 (2011)

    Article  Google Scholar 

  • Boso, F., Battiato, I.: Homogenizability conditions for multicomponent reactive transport. Adv. Wat. Pol. 62, 254–265 (2013)

    Article  Google Scholar 

  • Chilakapati, A., Ginn, T., Szecsody, J.: An analysis of complex reaction networks in groundwater modeling. Water Resour. Res. 34, 1767–1780 (1998)

    Article  Google Scholar 

  • Falkowski, P.G.: Biogeochemical cycles. In: Levin, S.A. (ed.) Encyclopedia of Biodiversity, vol. 1, pp. 437–453. Academic Press (2001)

  • Floudas, C.A., Niziolek, A.M., Onel, O., Matthews, L.R.: Multi-scale systems engineering for energy and the environment: Challenges and opportunities. AIChE J. 62, 602–623 (2016)

    Article  Google Scholar 

  • Golfier, F., Wood, B.D., Orgogozo, L., Quintard, M., Buès, M.: Biofilms in porous media: development of macroscopic transport equations via volume averaging with closure for local mass equilibrium conditions. Adv. Water Resour. 32, 463–485 (2009)

    Article  Google Scholar 

  • Gray, W.G., Miller, C.T.: Introduction to the Thermodynamically Constrained Averaging Theory for Porous Medium Systems. Springer, Switzerland (2014)

    Book  Google Scholar 

  • Ho-Le, K.: Finite element mesh generation methods: A review and classification. Comput. Aided Design 20, 27–38 (1988)

    Article  Google Scholar 

  • Hornung, U.: Homogenization and Porous Media. Springer, New York (1997)

    Book  Google Scholar 

  • Hu, X., Li, S., Peng, H.: A comparative study of equivalent circuit models for Li-ion batteries. J. Power Sources 198, 359–367 (2012)

    Article  Google Scholar 

  • Iliev, O., Mikelić, A., Prill, T., Sherly, A.: Homogenization approach to the upscaling of a reactive flow through particulate filters with wall integrated catalyst. Adv. Water Resour. 146, 103,779 (2020)

    Article  Google Scholar 

  • Inc., W.R.: Mathematica, Version 12.1. https://www.wolfram.com/mathematica. Champaign, IL (2020)

  • Knutson, C., Valocchi, A., Werth, C.: Comparison of continuum and pore-scale models of nutrient biodegradation under transverse mixing conditions. Adv. Water Resour. 30, 1421–1431 (2007)

    Article  Google Scholar 

  • Korneev, S., Battiato, I.: Sequential homogenization of reactive transport in polydisperse porous media. Multiscale Model. Simul. 14, 1301–1318 (2016)

    Article  Google Scholar 

  • Li, G., Monroe, C.W.: Multiscale lithium-battery modeling from materials to cells. Annu. Rev. Chem. Biomol. Eng. 11, 277–310 (2020)

    Article  Google Scholar 

  • Li, L., Peters, C.A., Celia, M.A.: Upscaling geochemical reaction rates using pore-scale network modeling. Adv. Water Resour. 29, 1351–1370 (2006)

    Article  Google Scholar 

  • Locker, M.: A hybrid-electric plane will get a boost from a french engine giant (2018). https://www.fastcompany.com/90246210/zunum-aero-and-safran-helicopters-team-up-for-hybrid-electric-planes

  • Maas, U., Pope, S.B.: Simplifying chemical kinetics: Intrinsic low-dimensional manifolds in composition space. Combust. Flame 88, 239–264 (1992)

    Article  Google Scholar 

  • Mansell, R.S., Ma, L., Ahuja, L.R., Bloom, S.A.: Adaptive grid refinement in numerical models for water flow and chemical transport in soil: A review. Vadose Zone J. 1, 222–238 (2002)

    Google Scholar 

  • Miller, C.T., Valdés-Parada, F.J., Ostvar, S., Wood, B.D.: A priori parameter estimation for the thermodynamically constrained averaging theory species transport in a saturated porous medium. Transp. Porous Med. 122, 611–632 (2018)

    Article  Google Scholar 

  • Morse, J.W., Arvidson, R.S.: The dissolution kinetics of major sedimentary carbonate minerals. Earth-Sci. Rev. 58, 51–84 (2002)

    Article  Google Scholar 

  • Moura, S.J., Argomedo, F.B., Klein, R., Mirtabatabaei, A., Krstic, M.: Battery state estimation for a single particle model with electrolyte dynamics. IEEE T. Contr. Syst. T. 25, 453–468 (2017)

    Article  Google Scholar 

  • Mutlay, İbrahim, Restrepo, A.: Complex reaction networks in high temperature hydrocarbon chemistry. Phys. Chem. Chem. Phys. 17, 7972–7985 (2015)

    Article  Google Scholar 

  • Pantano, C.: Direct simulation of non-premixed flame extinction in a methane-air jet with reduced chemistry. J. Fluid Mech. 514, 231–270 (2004)

    Article  Google Scholar 

  • Perez, H.E., Dey, S., Hu, X., Moura, S.J.: Optimal charging of Li-ion batteries via a single particle model with electrolyte and thermal dynamics. J. Electrochem. Soc. 164, A1679–A1687 (2017)

    Article  Google Scholar 

  • Plett, G.L.: Extended Kalman filtering for battery management systems of LiPB-based HEV battery packs part 3. State and parameter estimation. J. Power Sources 134, 277–292 (2004)

    Article  Google Scholar 

  • Ragsdale, S.W., Pierce, E.: Acetogenesis and the Wood-Ljungdahl pathway of CO\(_2\) fixation. Biochim. Biophys. Acta 1784, 1873–1898 (2008)

    Article  Google Scholar 

  • Rubinstein, J., Mauri, R.: Dispersion and convection in periodic porous media. SIAM J. Appl. Math. 46, 1018–1023 (1986)

    Article  Google Scholar 

  • Smith, M., García, R.E., Horn, Q.C.: The effect of microstructure on the galvanostatic discharge of graphite anode electrodes in LiCoO\(_2\)-based rocking-chair rechargeable batteries. J. Electrochem. Soc 156, A896–A904 (2009)

    Article  Google Scholar 

  • Soliman, S., Heiner, M.: A unique transformation from ordinary differential equations to reaction networks. PLoS ONE 5, e14,284 (2010)

    Article  Google Scholar 

  • Tartakovsky, D.M., Neuman, S.P.: Transient flow in bounded randomly heterogeneous domains. Water Resour. Res. 34, 1–12 (1998)

    Article  Google Scholar 

  • Vasilyeva, M., Mistry, A., Mukherjee, P.P.: Multiscale model reduction for pore-scale simulation of Li-ion batteries using GMsFEM. J. Comput. Appl. Math. 344, 73–88 (2018)

    Article  Google Scholar 

  • Walpole, J., Papin, J.A., Peirce, S.M.: Multiscale computational models of complex biological systems. Annu. Rev. Biomed. Eng. 15, 137–154 (2013)

    Article  Google Scholar 

  • Whitaker, S.: The Method of Volume Averaging. Kluwer Academic Publishers, P.O. Box 17, 3300 AA Dordrecht, The Netherlands (1999)

    Book  Google Scholar 

  • Wood, B.D.: The role of scaling laws in upscaling. Adv. Water Resour. 32, 723–736 (2009)

    Article  Google Scholar 

  • Wood, B.D., Quintard, M., Whitaker, S.: Calculation of effective diffusivities for biofilms and tissues. Biotechnol. Bioeng. 77, 495–516 (2002)

    Article  Google Scholar 

  • Wu, H., Kimball, J.S., Mantua, N., Stanford, J.: Automated upscaling of river networks for macroscale hydrological modeling. Water Resour. Res. 47, W03,517–1-W03,517–18 (2011)

    Article  Google Scholar 

  • Yousefzadeh, M., Battiato, I.: Physics-based hybrid method for multiscale transport in porous media. J. Comput. Phys. 344, 320–338 (2017)

    Article  Google Scholar 

  • Zagnoni, M., Anderson, J., Cooper, J.M.: Hysteresis in multiphase microfluidics at a T-junction. Langmuir 26, 9416–9422 (2010)

    Article  Google Scholar 

Download references

Acknowledgements

This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) under Agreement No. HR00112090061. The views, opinions and/or findings expressed are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or U.S. Government. KP was also supported by the Stanford Graduate Fellowship in Science and Engineering.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Morad Behandish or Ilenia Battiato.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A

The homogenized equations and closure problems solved for the first example problem at each indicated \(\left( \alpha ,\beta \right)\) coordinate in Figure 5.

\(\underline{\left( \alpha ,\beta \right) : \; \left( 1,1\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \frac{1}{\epsilon }\left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}} \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left[ {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right] + \frac{\left| \Gamma \right| }{\left| {\mathcal {B}}\right| }\left( \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}^2 - 1\right) = 0 \quad \text {in } \varOmega ,} \end{aligned}$$
(34a)
$$\begin{aligned}&{{\mathbf {D}}^{\left( 1\right) } = \left\langle D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right\rangle _{{\mathcal {B}}} - \left\langle \varvec{\chi }^{\left( 1\right) }\otimes {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(34b)
$$\begin{aligned}&{{\mathbf {u}}_0 \varvec{\cdot } \left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) - \left\langle {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}} - \nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(34c)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(34d)

\(\underline{\left( \alpha ,\beta \right) : \; \left( 0,1\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}} \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left[ {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right] + \frac{\left| \Gamma \right| }{\left| {\mathcal {B}}\right| }\left( \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}^2 - 1\right) = 0 \quad \text {in } \varOmega ,} \end{aligned}$$
(35a)
$$\begin{aligned}&{{\mathbf {D}}^{\left( 1\right) } = \left\langle D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(35b)
$$\begin{aligned}&{\nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(35c)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(35d)

\(\underline{\left( \alpha ,\beta \right) : \; \left( -1,1\right) , \; \left( -2,1\right) , \; \left( -3,1\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left[ {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right] + \frac{\left| \Gamma \right| }{\left| {\mathcal {B}}\right| }\left( \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}^2 - 1\right) = 0 \quad \text {in } \varOmega ,} \end{aligned}$$
(36a)
$$\begin{aligned}&{{\mathbf {D}}^{\left( 1\right) } = \left\langle D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(36b)
$$\begin{aligned}&{\nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(36c)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(36d)

\(\underline{\left( \alpha ,\beta \right) : \; \left( 1,2\right) , \; \left( 1,3\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \frac{1}{\epsilon }\left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}} \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left[ {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right] = 0 \quad \text {in } \varOmega ,} \end{aligned}$$
(37a)
$$\begin{aligned}&{{\mathbf {D}}^{\left( 1\right) } = \left\langle D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right\rangle _{{\mathcal {B}}} - \left\langle \varvec{\chi }^{\left( 1\right) }\otimes {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(37b)
$$\begin{aligned}&{{\mathbf {u}}_0 \varvec{\cdot } \left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) - \left\langle {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}} - \nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(37c)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(37d)

\(\underline{\left( \alpha ,\beta \right) : \; \left( 0,2\right) , \; \left( 0,3\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}} \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left[ {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right] = 0 \quad \text {in } \varOmega ,} \end{aligned}$$
(38a)
$$\begin{aligned}&{{\mathbf {D}}^{\left( 1\right) } = \left\langle D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(38b)
$$\begin{aligned}&{\nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(38c)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(38d)

\(\underline{\left( \alpha ,\beta \right) : \; \left( -1,2\right) , \; \left( -2,2\right) , \; \left( -3,2\right) , \; \left( -1,3\right) , \; \left( -2,3\right) , \; \left( -3,3\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left[ {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right] = 0 \quad \text {in } \varOmega ,} \end{aligned}$$
(39a)
$$\begin{aligned}&{{\mathbf {D}}^{\left( 1\right) } = \left\langle D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(39b)
$$\begin{aligned}&{\nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(39c)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( 1\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( 1\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(39d)

Appendix B

The homogenized equations and closure problems solved for the three scenarios of \((\alpha , \beta , \gamma , \delta )\) considered in the second example problem.

\(\underline{\left( \alpha , \beta , \gamma , \delta \right) : \left( -2, 1/4, -7/4, -7/4\right) }\)

$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right) = -\epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} + \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \quad \text {in } \varOmega ,} \end{aligned}$$
(40a)
$$\begin{aligned}&{\frac{\partial \left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 2\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}\right) = -\epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} + \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \quad \text {in } \varOmega ,} \end{aligned}$$
(40b)
$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 3\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}\right) = \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} - \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}\nonumber \\&\quad - \epsilon ^{-\frac{3}{4}}\frac{\left| \Gamma \right| }{\left| {\mathcal {B}}\right| }\left( \left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} - \eta _1\right) \quad \text {in } \varOmega , \end{aligned}$$
(40c)
$$\begin{aligned}&{{\mathbf {D}}^{\left( i\right) } = \left\langle D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(40d)
$$\begin{aligned}&{\nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(40e)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(40f)

\(\underline{\left( \alpha , \beta , \gamma , \delta \right) : \left( 1/2, 1/4, -1, -1\right) }\)

$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \epsilon ^{-\frac{1}{2}}\nabla _{{\mathbf {x}}} \varvec{\cdot } \left( \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right) - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right) \nonumber \\&\quad = -\epsilon ^{-1}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} + \epsilon ^{-1}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \quad \text {in } \varOmega , \end{aligned}$$
(41a)
$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \epsilon ^{-\frac{1}{2}}\nabla _{{\mathbf {x}}} \varvec{\cdot } \left( \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}\right) - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 2\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}\right) \nonumber \\&\quad = -\epsilon ^{-1}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} + \epsilon ^{-1}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \quad \text {in } \varOmega , \end{aligned}$$
(41b)
$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \epsilon ^{-\frac{1}{2}}\nabla _{{\mathbf {x}}} \varvec{\cdot } \left( \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}\right) - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 3\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}\right) \nonumber \\&\quad = \epsilon ^{-1}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} - \epsilon ^{-1}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \nonumber \\&\qquad - \epsilon ^{-\frac{3}{4}}\frac{\left| \Gamma \right| }{\left| {\mathcal {B}}\right| }\left( \left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} - \eta _1\right) \quad \text {in } \varOmega , \end{aligned}$$
(41c)
$$\begin{aligned}&{{\mathbf {D}}^{\left( i\right) } = \left\langle D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right\rangle _{{\mathcal {B}}} - \epsilon ^{\frac{1}{2}}\left\langle \varvec{\chi }^{\left( i\right) }\otimes {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(41d)
$$\begin{aligned}&{\epsilon ^{\frac{1}{2}}\left[ {\mathbf {u}}_0 \varvec{\cdot } \left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) - \left\langle {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}}\right] - \nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(41e)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(41f)

\(\underline{\left( \alpha , \beta , \gamma , \delta \right) : \left( 1/2, 1, -7/4, -7/4\right) }\)

$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \epsilon ^{-\frac{1}{2}}\nabla _{{\mathbf {x}}} \varvec{\cdot } \left( \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right) - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 1\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\right) \nonumber \\&\quad = -\epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} + \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \quad \text {in } \varOmega , \end{aligned}$$
(42a)
$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \epsilon ^{-\frac{1}{2}}\nabla _{{\mathbf {x}}} \varvec{\cdot } \left( \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}\right) - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 2\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}}\right) \nonumber \\&\quad = -\epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} + \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \quad \text {in } \varOmega , \end{aligned}$$
(42b)
$$\begin{aligned}&\frac{\partial \left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}}{\partial t} + \epsilon ^{-\frac{1}{2}}\nabla _{{\mathbf {x}}} \varvec{\cdot } \left( \left\langle {\mathbf {u}}\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}\right) - \nabla _{{\mathbf {x}}} \varvec{\cdot } \left( {\mathbf {D}}^{\left( 3\right) } \varvec{\cdot } \nabla _{{\mathbf {x}}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}}\right) \nonumber \\&\quad = \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 1\right) }\right\rangle _{{\mathcal {B}}}\left\langle c^{\left( 2\right) }\right\rangle _{{\mathcal {B}}} - \epsilon ^{-\frac{7}{4}}\left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} \nonumber \\&\qquad - \frac{\left| \Gamma \right| }{\left| {\mathcal {B}}\right| }\left( \left\langle c^{\left( 3\right) }\right\rangle _{{\mathcal {B}}} - \eta _1\right) \quad \text {in } \varOmega , \end{aligned}$$
(42c)
$$\begin{aligned}&{{\mathbf {D}}^{\left( i\right) } = \left\langle D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right\rangle _{{\mathcal {B}}} - \epsilon ^{\frac{1}{2}}\left\langle \varvec{\chi }^{\left( i\right) }\otimes {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}},} \end{aligned}$$
(42d)
$$\begin{aligned}&{\epsilon ^{\frac{1}{2}}\left[ {\mathbf {u}}_0 \varvec{\cdot } \left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) - \left\langle {\mathbf {u}}_0\right\rangle _{{\mathcal {B}}}\right] - \nabla _{\varvec{\xi }}\varvec{\cdot }\left[ D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right] = {\mathbf {0}} \quad \text {in } {\mathcal {B}},} \end{aligned}$$
(42e)
$$\begin{aligned}&{-{\mathbf {n}}\varvec{\cdot }\left[ D^{\left( i\right) }\left( {\mathbf {I}}+ \nabla _{\varvec{\xi }}\varvec{\chi }^{\left( i\right) }\right) \right] = {\mathbf {0}} \quad \text {on } \Gamma .} \end{aligned}$$
(42f)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pietrzyk, K., Korneev, S., Behandish, M. et al. Upscaling and Automation: Pushing the Boundaries of Multiscale Modeling through Symbolic Computing. Transp Porous Med 140, 313–349 (2021). https://doi.org/10.1007/s11242-021-01628-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11242-021-01628-9

Keywords

Navigation