A dynamic block activation framework for continuum models


Abstract

Efficient utilization of massively parallel computing resources is crucial for advancing scientific understanding through complex simulations. However, existing adaptive methods often face challenges in implementation complexity and scalability on modern parallel hardware. Here we present dynamic block activation (DBA), an acceleration framework that can be applied to a broad range of continuum simulations by strategically allocating resources on the basis of the dynamic features of the physical model. By exploiting the hierarchical structure of parallel hardware and dynamically activating and deactivating computation blocks, DBA optimizes performance while maintaining accuracy. We demonstrate DBA’s effectiveness through solving representative models spanning multiple scientific fields, including materials science, biophysics and fluid dynamics, achieving 216–816 central processing unit core-equivalent speedups on a single graphics processing unit (GPU), up to fivefold acceleration compared with highly optimized GPU code and nearly perfect scalability up to 32 GPUs. By addressing common challenges, such as divergent memory access, and reducing programming burden, DBA offers a promising approach to fully leverage massively parallel systems across multiple scientific computing domains.

This is a preview of subscription content, access via your institution

Access options

/* style specs start */

/* style specs end */

Buy this article

Buy now

Prices may be subject to local taxes which are calculated during checkout

/* style specs start */
style {
display: none !important;
}
.LiveAreaSection * {
align-content: stretch;
align-items: stretch;
align-self: auto;
animation-delay: 0s;
animation-direction: normal;
animation-duration: 0s;
animation-fill-mode: none;
animation-iteration-count: 1;
animation-name: none;
animation-play-state: running;
animation-timing-function: ease;
azimuth: center;
backface-visibility: visible;
background-attachment: scroll;
background-blend-mode: normal;
background-clip: borderBox;
background-color: transparent;
background-image: none;
background-origin: paddingBox;
background-position: 0 0;
background-repeat: repeat;
background-size: auto auto;
block-size: auto;
border-block-end-color: currentcolor;
border-block-end-style: none;
border-block-end-width: medium;
border-block-start-color: currentcolor;
border-block-start-style: none;
border-block-start-width: medium;
border-bottom-color: currentcolor;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-bottom-style: none;
border-bottom-width: medium;
border-collapse: separate;
border-image-outset: 0s;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-inline-end-color: currentcolor;
border-inline-end-style: none;
border-inline-end-width: medium;
border-inline-start-color: currentcolor;
border-inline-start-style: none;
border-inline-start-width: medium;
border-left-color: currentcolor;
border-left-style: none;
border-left-width: medium;
border-right-color: currentcolor;
border-right-style: none;
border-right-width: medium;
border-spacing: 0;
border-top-color: currentcolor;
border-top-left-radius: 0;
border-top-right-radius: 0;
border-top-style: none;
border-top-width: medium;
bottom: auto;
box-decoration-break: slice;
box-shadow: none;
box-sizing: border-box;
break-after: auto;
break-before: auto;
break-inside: auto;
caption-side: top;
caret-color: auto;
clear: none;
clip: auto;
clip-path: none;
color: initial;
column-count: auto;
column-fill: balance;
column-gap: normal;
column-rule-color: currentcolor;
column-rule-style: none;
column-rule-width: medium;
column-span: none;
column-width: auto;
content: normal;
counter-increment: none;
counter-reset: none;
cursor: auto;
display: inline;
empty-cells: show;
filter: none;
flex-basis: auto;
flex-direction: row;
flex-grow: 0;
flex-shrink: 1;
flex-wrap: nowrap;
float: none;
font-family: initial;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: medium;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-variant-alternates: normal;
font-variant-caps: normal;
font-variant-east-asian: normal;
font-variant-ligatures: normal;
font-variant-numeric: normal;
font-variant-position: normal;
font-weight: 400;
grid-auto-columns: auto;
grid-auto-flow: row;
grid-auto-rows: auto;
grid-column-end: auto;
grid-column-gap: 0;
grid-column-start: auto;
grid-row-end: auto;
grid-row-gap: 0;
grid-row-start: auto;
grid-template-areas: none;
grid-template-columns: none;
grid-template-rows: none;
height: auto;
hyphens: manual;
image-orientation: 0deg;
image-rendering: auto;
image-resolution: 1dppx;
ime-mode: auto;
inline-size: auto;
isolation: auto;
justify-content: flexStart;
left: auto;
letter-spacing: normal;
line-break: auto;
line-height: normal;
list-style-image: none;
list-style-position: outside;
list-style-type: disc;
margin-block-end: 0;
margin-block-start: 0;
margin-bottom: 0;
margin-inline-end: 0;
margin-inline-start: 0;
margin-left: 0;
margin-right: 0;
margin-top: 0;
mask-clip: borderBox;
mask-composite: add;
mask-image: none;
mask-mode: matchSource;
mask-origin: borderBox;
mask-position: 0 0;
mask-repeat: repeat;
mask-size: auto;
mask-type: luminance;
max-height: none;
max-width: none;
min-block-size: 0;
min-height: 0;
min-inline-size: 0;
min-width: 0;
mix-blend-mode: normal;
object-fit: fill;
object-position: 50% 50%;
offset-block-end: auto;
offset-block-start: auto;
offset-inline-end: auto;
offset-inline-start: auto;
opacity: 1;
order: 0;
orphans: 2;
outline-color: initial;
outline-offset: 0;
outline-style: none;
outline-width: medium;
overflow: visible;
overflow-wrap: normal;
overflow-x: visible;
overflow-y: visible;
padding-block-end: 0;
padding-block-start: 0;
padding-bottom: 0;
padding-inline-end: 0;
padding-inline-start: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0;
page-break-after: auto;
page-break-before: auto;
page-break-inside: auto;
perspective: none;
perspective-origin: 50% 50%;
pointer-events: auto;
position: static;
quotes: initial;
resize: none;
right: auto;
ruby-align: spaceAround;
ruby-merge: separate;
ruby-position: over;
scroll-behavior: auto;
scroll-snap-coordinate: none;
scroll-snap-destination: 0 0;
scroll-snap-points-x: none;
scroll-snap-points-y: none;
scroll-snap-type: none;
shape-image-threshold: 0;
shape-margin: 0;
shape-outside: none;
tab-size: 8;
table-layout: auto;
text-align: initial;
text-align-last: auto;
text-combine-upright: none;
text-decoration-color: currentcolor;
text-decoration-line: none;
text-decoration-style: solid;
text-emphasis-color: currentcolor;
text-emphasis-position: over right;
text-emphasis-style: none;
text-indent: 0;
text-justify: auto;
text-orientation: mixed;
text-overflow: clip;
text-rendering: auto;
text-shadow: none;
text-transform: none;
text-underline-position: auto;
top: auto;
touch-action: auto;
transform: none;
transform-box: borderBox;
transform-origin: 50% 50%0;
transform-style: flat;
transition-delay: 0s;
transition-duration: 0s;
transition-property: all;
transition-timing-function: ease;
vertical-align: baseline;
visibility: visible;
white-space: normal;
widows: 2;
width: auto;
will-change: auto;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
writing-mode: horizontalTb;
z-index: auto;
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
margin: 0;
}
.LiveAreaSection {
width: 100%;
}
.LiveAreaSection .login-option-buybox {
display: block;
width: 100%;
font-size: 17px;
line-height: 30px;
color: #222;
padding-top: 30px;
font-family: Harding, Palatino, serif;
}
.LiveAreaSection .additional-access-options {
display: block;
font-weight: 700;
font-size: 17px;
line-height: 30px;
color: #222;
font-family: Harding, Palatino, serif;
}
.LiveAreaSection .additional-login > li:not(:first-child)::before {
transform: translateY(-50%);
content: “”;
height: 1rem;
position: absolute;
top: 50%;
left: 0;
border-left: 2px solid #999;
}
.LiveAreaSection .additional-login > li:not(:first-child) {
padding-left: 10px;
}
.LiveAreaSection .additional-login > li {
display: inline-block;
position: relative;
vertical-align: middle;
padding-right: 10px;
}
.BuyBoxSection {
display: flex;
flex-wrap: wrap;
flex: 1;
flex-direction: row-reverse;
margin: -30px -15px 0;
}
.BuyBoxSection .box-inner {
width: 100%;
height: 100%;
padding: 30px 5px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.BuyBoxSection p {
margin: 0;
}
.BuyBoxSection .readcube-buybox {
background-color: #f3f3f3;
flex-shrink: 1;
flex-grow: 1;
flex-basis: 255px;
background-clip: content-box;
padding: 0 15px;
margin-top: 30px;
}
.BuyBoxSection .subscribe-buybox {
background-color: #f3f3f3;
flex-shrink: 1;
flex-grow: 4;
flex-basis: 300px;
background-clip: content-box;
padding: 0 15px;
margin-top: 30px;
}
.BuyBoxSection .subscribe-buybox-nature-plus {
background-color: #f3f3f3;
flex-shrink: 1;
flex-grow: 4;
flex-basis: 100%;
background-clip: content-box;
padding: 0 15px;
margin-top: 30px;
}
.BuyBoxSection .title-readcube,
.BuyBoxSection .title-buybox {
display: block;
margin: 0;
margin-right: 10%;
margin-left: 10%;
font-size: 24px;
line-height: 32px;
color: #222;
text-align: center;
font-family: Harding, Palatino, serif;
}
.BuyBoxSection .title-asia-buybox {
display: block;
margin: 0;
margin-right: 5%;
margin-left: 5%;
font-size: 24px;
line-height: 32px;
color: #222;
text-align: center;
font-family: Harding, Palatino, serif;
}
.BuyBoxSection .asia-link,
.Link-328123652,
.Link-2926870917,
.Link-2291679238,
.Link-595459207 {
color: #069;
cursor: pointer;
text-decoration: none;
font-size: 1.05em;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 1.05em6;
}
.BuyBoxSection .access-readcube {
display: block;
margin: 0;
margin-right: 10%;
margin-left: 10%;
font-size: 14px;
color: #222;
padding-top: 10px;
text-align: center;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 20px;
}
.BuyBoxSection ul {
margin: 0;
}
.BuyBoxSection .link-usp {
display: list-item;
margin: 0;
margin-left: 20px;
padding-top: 6px;
list-style-position: inside;
}
.BuyBoxSection .link-usp span {
font-size: 14px;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 20px;
}
.BuyBoxSection .access-asia-buybox {
display: block;
margin: 0;
margin-right: 5%;
margin-left: 5%;
font-size: 14px;
color: #222;
padding-top: 10px;
text-align: center;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 20px;
}
.BuyBoxSection .access-buybox {
display: block;
margin: 0;
margin-right: 10%;
margin-left: 10%;
font-size: 14px;
color: #222;
opacity: 0.8px;
padding-top: 10px;
text-align: center;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 20px;
}
.BuyBoxSection .price-buybox {
display: block;
font-size: 30px;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
padding-top: 30px;
text-align: center;
}
.BuyBoxSection .price-buybox-to {
display: block;
font-size: 30px;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
text-align: center;
}
.BuyBoxSection .price-info-text {
font-size: 16px;
padding-right: 10px;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
}
.BuyBoxSection .price-value {
font-size: 30px;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
}
.BuyBoxSection .price-per-period {
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
}
.BuyBoxSection .price-from {
font-size: 14px;
padding-right: 10px;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 20px;
}
.BuyBoxSection .issue-buybox {
display: block;
font-size: 13px;
text-align: center;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 19px;
}
.BuyBoxSection .no-price-buybox {
display: block;
font-size: 13px;
line-height: 18px;
text-align: center;
padding-right: 10%;
padding-left: 10%;
padding-bottom: 20px;
padding-top: 30px;
color: #222;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
}
.BuyBoxSection .vat-buybox {
display: block;
margin-top: 5px;
margin-right: 20%;
margin-left: 20%;
font-size: 11px;
color: #222;
padding-top: 10px;
padding-bottom: 15px;
text-align: center;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: 17px;
}
.BuyBoxSection .tax-buybox {
display: block;
width: 100%;
color: #222;
padding: 20px 16px;
text-align: center;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
line-height: NaNpx;
}
.BuyBoxSection .button-container {
display: flex;
padding-right: 20px;
padding-left: 20px;
justify-content: center;
}
.BuyBoxSection .button-container > * {
flex: 1px;
}
.BuyBoxSection .button-container > a:hover,
.Button-505204839:hover,
.Button-1078489254:hover,
.Button-2737859108:hover {
text-decoration: none;
}
.BuyBoxSection .btn-secondary {
background: #fff;
}
.BuyBoxSection .button-asia {
background: #069;
border: 1px solid #069;
border-radius: 0;
cursor: pointer;
display: block;
padding: 9px;
outline: 0;
text-align: center;
text-decoration: none;
min-width: 80px;
margin-top: 75px;
}
.BuyBoxSection .button-label-asia,
.ButtonLabel-3869432492,
.ButtonLabel-3296148077,
.ButtonLabel-1636778223 {
display: block;
color: #fff;
font-size: 17px;
line-height: 20px;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto,
Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif;
text-align: center;
text-decoration: none;
cursor: pointer;
}
.Button-505204839,
.Button-1078489254,
.Button-2737859108 {
background: #069;
border: 1px solid #069;
border-radius: 0;
cursor: pointer;
display: block;
padding: 9px;
outline: 0;
text-align: center;
text-decoration: none;
min-width: 80px;
max-width: 320px;
margin-top: 20px;
}
.Button-505204839 .btn-secondary-label,
.Button-1078489254 .btn-secondary-label,
.Button-2737859108 .btn-secondary-label {
color: #069;
}
.uList-2102244549 {
list-style: none;
padding: 0;
margin: 0;
}
/* style specs end */

Fig. 1: Schematic overview of the DBA algorithm and key features of the study.
Fig. 2: Numerical simulations of solid nucleus growth in undercooled melts.
Fig. 3: Dendritic growth simulation results and performance from DBA.
Fig. 4: Phase-separation simulation results and performance from DBA.
Fig. 5: KHI simulation results from DBA.

Data availability

All of the experiments in this Resource are based on simulations, and there are no input data. Source data are provided with this paper.

Code availability

The code that supports the results within this Resource is available via GitHub at https://github.com/zhangruoyao68/DBA and via Zenodo at https://doi.org/10.5281/zenodo.14868458 (ref. 66).

References

  1. Kirk, D. B. & Hwu, W.-M. W. Programming Massively Parallel Processors 3rd edn (Morgan Kaufmann, 2016).

    MATH 

    Google Scholar 

  2. Wang, Q., Ihme, M., Chen, Y.-F. & Anderson, J. A TensorFlow simulation framework for scientific computing of fluid flows on tensor processing units. Comput. Phys. Commun. 274, 108292 (2022).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  3. Castro, M. D., Vilariño, D. L., Torres, Y. & Llanos, D. R. The role of field-programmable gate arrays in the acceleration of modern high-performance computing workloads. Computer 57, 66–76 (2024).

    Article 
    MATH 

    Google Scholar 

  4. Steinkraus, D., Buck, I. & Simard, P. Y. Using GPUs for machine learning algorithms. In Eighth International Conference on Document Analysis and Recognition (ICDAR’05) 2, 1115–1120 (IEEE, 2005).

  5. Fung. J. Computer vision on the GPU. In GPU Gems 2: Programming Techniques for High-Performance Graphics and General Purpose Computation 1st edn (eds Pharr, M. et al.) Chap. 40 (Addison-Wesley, 2005.)

  6. Götz, A. W., Wölfle, T. & Walker, R. C. Quantum chemistry on graphics processing units. In Annual Reports in Computational Chemistry Vol. 6 (ed Wheeler, R. A.) Chap. 2 (Elsevier, 2010).

  7. Anderson, J. A., Glaser, J. & Glotzer, S. C. HOOMD-blue: A python package for high-performance molecular dynamics and hard particle monte carlo simulations. Comput. Mater. Sci. 173, 109363 (2020).

    Article 
    MATH 

    Google Scholar 

  8. Phillips, J. C. et al. Scalable molecular dynamics on CPU and GPU architectures with NAMD. J. Chem. Phys. 153, 044130 (2020).

    Article 
    MATH 

    Google Scholar 

  9. Abramson, J. et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature 630, 493–500 (2024).

    Article 
    MATH 

    Google Scholar 

  10. Niemeyer, K. E. & Sung, C.-J. Recent progress and challenges in exploiting graphics processors in computational fluid dynamics. J. Supercomput. 67, 528–564 (2014).

    Article 
    MATH 

    Google Scholar 

  11. Michalakes, J. & Vachharajani, M. GPU acceleration of numerical weather prediction. In Proc. IEEE International Symposium on Parallel and Distributed Processing 1–7 (IEEE, 2008).

  12. Eklund, A., Dufort, P., Forsberg, D. & LaConte, S. M. Medical image processing on the GPU—past, present and future. Med. Image Anal. 17, 1073–1094 (2013).

    Article 

    Google Scholar 

  13. Berger, M. J. & Oliger, J. Adaptive mesh refinement for hyperbolic partial differential equations. J. Comput. Phys. 53, 484–512 (1984).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  14. Berger, M. J. & Colella, P. Local adaptive mesh refinement for shock hydrodynamics. J. Comput. Phys. 82, 64–84 (1989).

    Article 
    MATH 

    Google Scholar 

  15. Teunissen, J. & Ebert, U. Afivo: a framework for quadtree/octree AMR with shared-memory parallelization and geometric multigrid methods. Comput. Phys. Commun. 233, 156–166 (2018).

    Article 
    MATH 

    Google Scholar 

  16. Rollier, M., Zielinski, K. M. C., Daly, A. J., Bruno, O. M. & Baetens, J. M. A comprehensive taxonomy of cellular automata. Commun. Nonlinear Sci. Numer. Simul. 140, 108362 (2025).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  17. Provatas, N., Goldenfeld, N. & Dantzig, J. Adaptive mesh refinement computation of solidification microstructures using dynamic data structures. J. Comput. Phys. 148, 265–290 (1999).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  18. Gaston, D., Newman, C., Hansen, G. & Lebrun-Grandié, D. MOOSE: a parallel computational framework for coupled systems of nonlinear equations. Nucl. Eng. Des. 239, 1768–1778 (2009).

    Article 

    Google Scholar 

  19. Greenwood, M. et al. Quantitative 3D phase field modelling of solidification using next-generation adaptive mesh refinement. Comput. Mater. Sci. 142, 153–171 (2018).

    Article 
    MATH 

    Google Scholar 

  20. DeWitt, S., Rudraraju, S., Montiel, D., Andrews, W. B. & Thornton, K. PRISMS-PF: a general framework for phase-field modeling with a matrix-free finite element method. npj Comput. Mater. 6, 29 (2020).

    Article 

    Google Scholar 

  21. Popinet, S. An accurate adaptive solver for surface-tension-driven interfacial flows. J. Comput. Phys. 228, 5838–5866 (2009).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  22. Zhang, W. et al. AMReX: a framework for block-structured adaptive mesh refinement. J. Open Source Softw. 4, 1370 (2019).

    Article 
    MATH 

    Google Scholar 

  23. Teyssier, R. Cosmological hydrodynamics with adaptive mesh refinement—a new high resolution code called RAMSES. Astron. Astrophys. 385, 337–364 (2002).

    Article 
    MATH 

    Google Scholar 

  24. Bryan, G. L. et al. ENZO: an adaptive mesh refinement code for astrophysics. Astrophys. J. Suppl. Ser. 211, 19 (2014).

    Article 
    MATH 

    Google Scholar 

  25. Stone, J. M., Tomida, K., White, C. J. & Felker, K. G. The Athena++ adaptive mesh refinement framework: design and magnetohydrodynamic solvers. Astrophys. J. Suppl. Ser. 249, 4 (2020).

  26. Zhang, W., Myers, A., Gott, K., Almgren, A. & Bell, J. AMReX: block-structured adaptive mesh refinement for multiphysics applications. Int. J. High Perform. Comput. Appl. 35, 508–526 (2021).

    Article 
    MATH 

    Google Scholar 

  27. Schive, H.-Y. et al. gamer-2: a GPU-accelerated adaptive mesh refinement code—accuracy, performance, and scalability. Mon. Not. R. Astron. Soc. 481, 4815–4840 (2018).

    Article 
    MATH 

    Google Scholar 

  28. Wang, P., Abel, T. & Kaehler, R. Adaptive mesh fluid simulations on GPU. New Astron. 15, 581–589 (2010).

    Article 
    MATH 

    Google Scholar 

  29. Giuliani, A. & Krivodonova, L. Adaptive mesh refinement on graphics processing units for applications in gas dynamics. J. Comput. Phys. 381, 67–90 (2019).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  30. Liu, Z., Tian, F.-B. & Feng, X. An efficient geometry-adaptive mesh refinement framework and its application in the immersed boundary lattice Boltzmann method. Comput. Methods Appl. Mech. Eng. 392, 114662 (2022).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  31. Farooqi, M. N. et al. Asynchronous AMR on multi-GPUs. In Lecture Notes in Computer Science Vol. 11887 (eds Weiland, M. et al.) 113–123 (Springer, 2019).

  32. Beckingsale, D., Gaudin, W., Herdman, A. & Jarvis, S. Resident block-structured adaptive mesh refinement on thousands of graphics processing units. In Proc. 44th International Conference on Parallel Processing 61–70 (IEEE, 2015).

  33. Wang, J. & Yalamanchili, S. Characterization and analysis of dynamic parallelism in unstructured GPU applications. In Proc. IEEE International Symposium on Workload Characterization 51–60 (IEEE, 2014).

  34. Hohenberg, P. C. & Halperin, B. I. Theory of dynamic critical phenomena. Rev. Mod. Phys. 49, 435–479 (1977).

    Article 
    MATH 

    Google Scholar 

  35. Kobayashi, R. Modeling and numerical simulations of dendritic crystal growth. Physica D 63, 410–423 (1993).

    Article 
    MATH 

    Google Scholar 

  36. Steinbach, I. Phase-field models in materials science. Model. Simul. Mat. Sci. Eng. 17, 073001 (2009).

    Article 
    MATH 

    Google Scholar 

  37. Francois, M. M. et al. Modeling of additive manufacturing processes for metals: Challenges and opportunities. Curr. Opin. Solid State Mater. Sci. 21, 198–206 (2017).

    Article 
    MATH 

    Google Scholar 

  38. Berry, J. et al. Toward multiscale simulations of tailored microstructure formation in metal additive manufacturing. Mater. Today 51, 65–86 (2021).

    Article 
    MATH 

    Google Scholar 

  39. Allen, S. M. & Cahn, J. W. Ground state structures in ordered binary alloys with second neighbor interactions. Acta Metall. 20, 423–433 (1972).

    Article 
    MATH 

    Google Scholar 

  40. Mullins, W. W. & Sekerka, R. F. Stability of a planar interface during solidification of a dilute binary alloy. J. Appl. Phys. 35, 444–451 (1964).

    Article 
    MATH 

    Google Scholar 

  41. Plapp, M. & Karma, A. Multiscale random-walk algorithm for simulating interfacial pattern formation. Phys. Rev. Lett. 84, 1740–1743 (2000).

    Article 
    MATH 

    Google Scholar 

  42. Zhang, R., Mao, S. & Haataja, M. P. Chemically reactive and aging macromolecular mixtures. II. Phase separation and coarsening. J. Chem. Phys. 161, 184903 (2024).

    Article 

    Google Scholar 

  43. Brangwynne, C. P. et al. Germline P granules are liquid droplets that localize by controlled dissolution/condensation. Science 324, 1729–1732 (2009).

    Article 
    MATH 

    Google Scholar 

  44. Hyman, A. A., Weber, C. A. & Jülicher, F. Liquid–liquid phase separation in biology. Annu. Rev. Cell Dev. Biol. 30, 39–58 (2014).

    Article 
    MATH 

    Google Scholar 

  45. Berry, J., Brangwynne, C. P. & Haataja, M. Physical principles of intracellular organization via active and passive phase transitions. Rep. Prog. Phys. 81, 046601 (2018).

    Article 

    Google Scholar 

  46. Mao, S., Kuldinow, D., Haataja, M. P. & Košmrlj, A. Phase behavior and morphology of multicomponent liquid mixtures. Soft Matter 15, 1297–1311 (2019).

    Article 

    Google Scholar 

  47. Cahn, J. W. & Hilliard, J. E. Free energy of a nonuniform system. III. nucleation in a two-component incompressible fluid. J. Chem. Phys. 31, 688–699 (1959).

    Article 
    MATH 

    Google Scholar 

  48. Lifshitz, I. M. & Slyozov, V. V. The kinetics of precipitation from supersaturated solid solutions. J. Phys. Chem. Solids 19, 35–50 (1961).

    Article 
    MATH 

    Google Scholar 

  49. Wagner, C. Theorie der Alterung von Niederschlägen durch Umlösen (Ostwald Reifung). Z. Elektrochem. Ber. Bunsenges. Phys. Chem. 65, 581–591 (1961).

    Google Scholar 

  50. Helmholtz XLIII. on discontinuous movements of fluids. Lond. Edinb. Dublin Philos. Mag. J. Sci. 36, 337–346 (1868).

    Article 
    MATH 

    Google Scholar 

  51. Toro, E. F. Riemann Solvers and Numerical Methods for Fluid Dynamics. 3rd edn, Springer, (2009).

    Book 
    MATH 

    Google Scholar 

  52. McNally, C. P., Lyra, W. & Passy, J.-C. A well-posed Kelvin–Helmholtz instability test and comparison. Astrophys. J. Suppl. Ser. 201, 18 (2012).

    Article 
    MATH 

    Google Scholar 

  53. Foullon, C., Verwichte, E., Nakariakov, V. M., Nykyri, K. & Farrugia, C. J. Magnetic Kelvin–Helmholtz instability at the Sun. Astrophys. J. Lett. 729, L8 (2011).

    Article 

    Google Scholar 

  54. Smyth, W. & Moum, J. Ocean mixing by Kelvin–Helmholtz instability. Oceanography 25, 140–149 (2012).

    Article 
    MATH 

    Google Scholar 

  55. Rusanov, V. V. The calculation of the interaction of non-stationary shock waves and obstacles. USSR Comput. Math. Math. Phys. 1, 304–320 (1962).

    Article 
    MATH 

    Google Scholar 

  56. Burau, H. et al. PIConGPU: a fully relativistic particle-in-cell code for a GPU cluster. IEEE Trans. Plasma Sci. IEEE Nucl. Plasma Sci. Soc. 38, 2831–2839 (2010).

    Article 
    MATH 

    Google Scholar 

  57. Crespo, A. C., Dominguez, J. M., Barreiro, A., Gómez-Gesteira, M. & Rogers, B. D. GPUs, a new tool of acceleration in CFD: efficiency and reliability on smoothed particle hydrodynamics methods. PLoS ONE 6, e20685 (2011).

    Article 
    MATH 

    Google Scholar 

  58. Montessori, A. et al. Thread-safe lattice boltzmann for high-performance computing on GPUs. J. Comput. Sci. 74, 102165 (2023).

    Article 
    MATH 

    Google Scholar 

  59. Teyssier, R., Chapon, D. & Bournaud, F. The driving mechanism of starbursts in galaxy mergers. Astrophys. J. Lett. 720, L149–L154 (2010).

    Article 
    MATH 

    Google Scholar 

  60. Shaw, D. E. et al. Anton 3. In Proc. International Conference for High Performance Computing, Networking, Storage and Analysis 1–11 (ACM, 2021).

  61. Mudigere, D. et al. Software–hardware co-design for fast and scalable training of deep learning recommendation models. In Proc. 49th Annual International Symposium on Computer Architecture 993–1011 (ACM, 2022).

  62. Cong, J. et al. FPGA HLS today: successes, challenges, and opportunities. ACM Trans. Reconfigurable Technol. Syst. 15, 1–42 (2022).

    Article 
    MATH 

    Google Scholar 

  63. Dally, W. J., Turakhia, Y. & Han, S. Domain-specific hardware accelerators. Commun. ACM 63, 48–57 (2020).

    Article 

    Google Scholar 

  64. Rocki, K. et al. Fast stencil-code computation on a wafer-scale processor. In SC20: International Conference for High Performance Computing, Networking, Storage and Analysis Vol. 58 1–14 (IEEE, 2020).

  65. Watanabe, S. & Aoki, T. Large-scale flow simulations using lattice boltzmann method with AMR following free-surface on multiple GPUs. Comput. Phys. Commun. 264, 107871 (2021).

    Article 
    MathSciNet 
    MATH 

    Google Scholar 

  66. Zhang, R. & Xia, Y. Source code for a dynamic block activation framework for continuum models. Zenodo https://doi.org/10.5281/zenodo.14868458 (2025).

Download references

Acknowledgements

R.Z. was supported by the National Science Foundation (NSF) Materials Research Science and Engineering Center Program through the Princeton Center for Complex Materials (PCCM) (grant no. DMR-2011750). Y.X. was supported by the National Natural Science Foundation of China (grant no. 12204162). Useful discussions with M. P. Haataja, R. Teyssier, S. Cohen, J. Lalmansingh and Q. Cai are gratefully acknowledged. The simulations presented in this Resource were performed on computational resources managed and supported by Princeton Research Computing, a consortium of groups including the Princeton Institute for Computational Science and Engineering (PICSciE) and Research Computing at Princeton University.

Author information

Authors and Affiliations

Authors

Contributions

R.Z. and Y.X. conceptualized the study, designed the computational framework, implemented the code, analyzed results, visualized simulations and drafted the paper.

Corresponding author

Correspondence to
Yang Xia.

Ethics declarations

Competing interests

The authors declare no competing interests.

Peer review

Peer review information

Nature Computational Science thanks Cody Permann, Tatu Pinomaa, Nicolò Scapin and the other, anonymous, reviewer(s) for their contribution to the peer review of this work. Primary Handling Editor: Fernando Chirigati, in collaboration with the Nature Computational Science team.

Additional information

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

Supplementary information

Supplementary Information

Supplementary Figs. 1 and 2, Supplementary model descriptions and Supplementary Tables 1 and 2.

Source data

Source Data Fig. 3

Excel file for the source data used in Fig. 3.

Source Data Fig. 4

Excel file for the source data used in Fig. 4.

Source Data Fig. 5

Excel file for the source data used in Fig. 5.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, R., Xia, Y. A dynamic block activation framework for continuum models.
Nat Comput Sci (2025). https://doi.org/10.1038/s43588-025-00780-2

Download citation

  • Received: 30 August 2024

  • Accepted: 19 February 2025

  • Published: 17 March 2025

  • DOI: https://doi.org/10.1038/s43588-025-00780-2


Leave a Reply

Your email address will not be published. Required fields are marked *