John M.
Ericson
a,
Nicola
Wolpert
*b and
Gregory M. K.
Poon
*a
aDepartment of Chemistry, Georgia State University, P.O. Box 3965, Atlanta, GA 30303, USA. E-mail: gpoon@gsu.edu
bFaculty of Geomatics, Computer Science and Mathematics, Stuttgart University of Applied Sciences, Schellingstraße 24, 70174 Stuttgart, Germany. E-mail: nicola.wolpert@hft-stuttgart.de
First published on 17th July 2025
Voronoi diagrams are widely used to model disperse systems such as foams, powders, polycrystals and atoms in the classical limit. Voronoi tessellations partition the continuous phase into compartments, or cells, that encompass all space closer to the assigning dispersed object than any other in the system. To account for heterogeneity in object size, weights are applied to avoid unphysical partitioning across non-contacting objects. Power and additive weighting are the most common weighting schemes, wherein power is more computationally tractable but additive weighting correlates more directly with size. In general, the two schemes produce distinct spatial decompositions for any non-monodisperse system. To calibrate the divergent volumetric metrics from the two schemes, and to gain physical insight into their divergence, we compared power and additively weighted Voronoi diagrams of polydisperse ensembles representing physically relevant ranges of polydispersity, density, and overlap. When tested against experimental distributions of gas foams, the results related their divergent power and additively weighted decompositions to the polydispersity of their particle size distributions. Geometric analysis of the Voronoi cells implicated the subpopulation of small objects as the primary contributors to the divergence through their preferential assignment of larger, aspherical power cells relative to their additively weighted counterparts.
A standard approach to structuring disperse matter is the Voronoi diagram.5 The primitive Voronoi diagram divides the space around a set of points (called generators) into cells such that each cell contains all the space closer to a generator than any other generator. Thus, for a set of generators S = {p, q, …}, the Voronoi cell V associated with p is the locus of points x with the shortest distances to p as follows:
V(p) = {x|d(x,p) ≤ d(x,q) ∀ q ∈ S, q ≠ p} | (1) |
π(x,s) = d2(x,c) − r2. | (2) |
![]() | ||
Fig. 1 Illustrative primitive, power, and weighted Voronoi decompositions in the plane. (A) Primitive and weighted dividing lines for two dissimilar disks determined by assignment of randomly placing points (top) or analytically (bottom) according to eqn (1)–(3). In primitive Voronoi diagram, the dividing line is equidistant (green segments) between the centers of the generating objects without regard to size. Unphysical decompositions occur when the dividing line intersects non-overlapping balls, which are avoided by power (P) and additively weighted (AW) diagrams. In the AW scheme, the dividing line is equidistant to the surface of the generators. (B) A network dividing the space housing five disks creating a cell around the center disk. The curved edges in an additively weighted diagram also govern the partitioning of overlap between unequally sized disks. The intersections of edges represent vertices of the Voronoi cells. |
In practice, power diagrams are attractive for the speed and convenience of computing flat-faced cells. In contrast, the additively weighted diagram, which is also known as the Voronoi diagram of spheres or the Apollonius diagram, divides space such that each cell contains the points closer to the surface of ball s than any other by way of the weighted distance metric:5
δ(x,s) = d(x,c) − r. | (3) |
Voronoi diagrams are used to model molecular8,9 and ionic liquids,10 colloidal crystals,11,12 granular materials,13,14 foams/bubbles,15,16 and myriad other physicochemical systems. Such systems are commonly considered with Voronoi diagrams of balls because the objects themselves are spherical or can be modeled as assemblages of spheres.17,18 Molecular systems, whose atomic constituents are approximated as balls in the classical limit, are also most correctly modeled by additively weighted Voronoi diagrams.19 Compared with power diagrams, additive weighting is considerably complex and computationally intensive,20–22 especially for balls that overlap [Fig. 1B]. For many years, available code for additively weighted Voronoi diagrams, whether proprietary (e.g., MATLAB, MATHEMATICA) or open source (CGAL library), was limited to the plane. Freely accessible software for three-dimensional work has only recently become available.23–25 Outside of biomolecular applications,25–28 power analysis of physicochemical systems (particular continuum matter) has remained the norm.12,29–35 Given this, and the significant body of literature on weighted Voronoi diagrams, a practical question arises as to how the two weighting schemes differ in their description of physicochemical systems. Although the theoretical linkage among weighting schemes has been made,36 abstract analysis does not readily translate to physical interpretations.
As the only guaranteed condition for convergence of power and additive weighting is radial uniformity of the generators, deviation between the two schemes is the default expectation. Quantitative calibration of weighted diagrams and physical insight into their divergence are useful but remain open knowledge gaps. To make progress in a broadly applicable way, we compared power and additively weighted Voronoi descriptions of spherical ensembles commonly used to model physicochemical systems. These results: (1) provide insight into the fundamental factors that drive divergence between the two weighting schemes, (2) establish a quantitative basis for interpreting volumetric metrics of power diagrams under the additively weighted régime, and (3) extend previous studies on oligo-disperse systems.37–44 In support of these efforts, we share with the community open-source, python-based software for the integrated computation and analysis of weighted Voronoi diagrams from user-supplied generator coordinates and radii.
For an additively weighted decomposition space, we can re-write eqn (3) in coordinate form as the distance r from a point (x, y, z) to the surface of a ball si with center c = (xi, yi, zi) and radius ri as:
![]() | (4) |
(x − xi)2 + (y − yi)2 + (z − zi)2 − ri2 = r | (5) |
The properties of power diagrams have been extensively described by Aurenhammer.7 For additively weighted diagrams, eqn (4) can be considered equivalently as a ball with radius r that is tangent to the ball si. The surfaces (s), edges (e) and vertices (v) can be found by rearranging eqn (4) and solving a system of equations between two, three, and four balls respectively:
![]() | (6) |
When ri ≠ rj, the surface is a hyperboloid of two sheets, only one of which is the true bisector of the two balls. This property leads to complications when computing the Voronoi edges and the Voronoi vertices because intersections of artefactual sheets will also be solutions to the above systems of equations. Nevertheless, it is possible to recover the point on the true Voronoi cell by finding the weighted distance from the point to each participating ball. The point on the true surface of the Voronoi cell will have the same weighted distance to each of the balls.22
Across the range of radial ratio tested, both the additively weighted and power cell decreased in volume and surface area as the probe became small relative to the embedding balls [Fig. 2B]. The edges of the additively weighted cell transitioned from being concave to flat, to convex as the radial ratio increased past unity. The curved edges are convex for additively weighted cells generated by smaller balls. Relative to power cells, additively weighted cells showed the same number of facets except at the lowest radial ratio, where the sculpted additively weighted cell showed additional small facets absent in the power cell. At high radial ratios, the probe cell became less featured for both weighting schemes. For this model, the additively weighted probe cell was larger than the power cell above and below unit radius [Fig. 2C]. The convergence of the cells as the size tends to uniformity is apparent at unit radial ratio.
To proceed, we simulated ensembles consisting of 1000 balls with radii r sampled from the gamma distribution at specified level of polydispersity, density, and overlap [Fig. 3A]. The gamma distribution is a two-parameter function:
![]() | (7) |
![]() | (8) |
![]() | ||
Fig. 3 Statistical ensembles of balls: construction and characteristics. (A) Outline of the ensemble construction process as implemented in FOAM_GEN. See Theory and methods for details. (B) Illustrative ball packing in the absence and presence of periodic boundary condition (PBC). With PBC, balls are allowed to protrude from the retaining box and are checked against the balls in the corresponding adjacent unit(s) for overlap. (C) Density adjustment for overlapping systems. Given the set parameters (number of balls, density, CV, PBC, distribution, overlap), a linear model was trained to predict the required adjustment on the nominal non-overlapping density (see ESI†). Twelve illustrative realizations of the model are shown (number of balls, overlap, CV): 1 – (100, 1.5, 0.5), 2 – (100, 1.5, 1.0), 3 – (1000, 1.5, 0.5), 4 – (1000, 1.5, 1.0), 5 – (100, 1.0, 0.5), 6 – (100, 1.0, 1.0), 7 – (1000, 1.0, 0.5), 8 – (1000, 1.0, 1.0), 9 – (100, 0.5, 0.5), 10 – (100, 0.5, 1.0), 11 – (1000, 0.5, 0.5), 12 – (1000, 0.5, 1.0). (D) Representative ensembles across density, CV, and overlap. (E)–(G) Representative positional, radial, and overlap distributions of PBC ensembles. Distributions for the full dataset are given in Fig. S1, ESI.† (E) x, y, and z relative locations of the balls within the bounding cube at (CV, density) = (0.5, 0.25) with and without overlap. The “static” appearance reflects the homogeneity of the locations across systems. (F) Histograms of ball radii to the gamma distribution sampled at the indicated CV values and density = 0.25. (G) Overlap (relative to the smaller ball) of PBC ensembles. |
Given a distribution of radii, a retaining box was constructed for packing the balls given the total volume of the set of balls and the desired density. To assess the impact of boundary effects, ensembles were generated with and without periodic boundary condition (PBC) to approximate continuous domains or as an isolated system [Fig. 3B]. In general, the total volume of an ensemble is the summed volume of the constituent balls (the non-overlapped volume) minus any volume involved in overlap. For definitional purposes, we expressed overlap between two balls as the maximum fractional penetration into the smaller ball. For example, overlap = 0.5 means that the larger of any two neighboring balls was allowed to penetrate up to the center of the smaller ball. To account for reduction in density of the ensemble due to overlap, a machine learning model was trained to predict the density adjustment given the set parameters (number of balls, density, CV, PBC, distribution, overlap) [Fig. 3C]. Once sorted from largest to smallest, the balls were randomly placed in the retaining box and checked for permitted overlap with the other balls. Completed ensembles were then analyzed by Voronoi decomposition (vide infra).
Ensembles consisting of 1000 balls covering a wide range of polydispersity (CV from 0.05 to 1.0), density (0.05 to 0.5), and overlap (0.0 to 1.0) were generated. A packing density (fraction) up to 0.5, a range representative of solid60 and liquid foams,61 was sampled. For each composition, twenty independent replicates were realized. Representative ensembles are shown in Fig. 3D. As quality checks, we examined the ensembles for positional homogeneity [Fig. 3E], fidelity to the underlying gamma distribution of size [Fig. 3F], and the prevalence of overlapping balls [Fig. 3G]. The number fraction of overlapping balls scales sharply with density for ensembles with low polydispersity, in accord with the increasing restrictiveness with which similarly sized balls may be packed without overlap by the static packing scheme implemented in FOAM_GEN.
Comparison of power and additively weighted Voronoi decompositions of statistical ensembles
Our implementation of the additively weighted Voronoi diagram (VORPY) is based on an edge-tracing approach.54 To test VORPY for correctness, we compared the additively weighted decomposition of 21 ensembles (an independent test set representing the extremes of densities, CV, and overlap of the foregoing ensembles), with VORONOTA,23 a solver that implements an alternative “gift-wrapping” strategy. The two implementations share >98% matched vertices (over 6 to 9 × 103 per ensemble), which are close to within 0.5% in position [Fig. S2, ESI†]. These results support the correctness of VORPY for additively weighted diagrams.
For each ensemble, a power and additively weighted decomposition was computed. Since both types of weighted cells map 1:
1 to the generator set of balls, the assignment of Voronoi cells should be complete in principle under PBC. In practice, a small fraction of cells at very high CV is not assigned due to vertices located beyond a preset cutoff from the retaining box. For non-PBC ensembles, the outer layer of balls form unbounded Voronoi cells which are removed from analysis. The completeness of weighted Voronoi cells due to these factors are shown in Fig. S3 (ESI†).
For each ball with an assigned power and additively weighted cell, the properties of the two cells were compared over the full ensemble. Since deviations in volume or surface area between neighboring cells mutually compensate, the average difference over all balls would be zero under PBC. For non-PBC ensembles, the interior balls would have no effect on the final value and the only remaining difference would come from the exterior balls partitioned values. Given these features, we define as summary metric the average absolute differences in cell volume:
![]() | (9) |
Inspecting avg(|Δv|) and avg(|Δa|) as a function of density over a range of CV values shows that, controlling for density, polydispersity increases the deviation between corresponding power and additively weighted Voronoi diagrams. At sufficient polydispersity, even low-density ensembles deviate significantly in volume between power and additively weighted cells e.g., avg(|Δv|) > 50% at CV = 0.6. As the density dependence of avg(|Δa|) is qualitatively identical to avg(|Δv|) except smaller in magnitude [Fig. S4, ESI†], we will henceforth focus on avg(|Δv|). The divergent effect of CV is manifest in both the overlapping and non-overlapping systems, with or without PBC [Fig. 4A]. Non-PBC ensembles exhibit different avg(|Δv|)–density profiles than PBC ensembles, suggesting finite-boundary effects, but nevertheless follow the same trend with polydispersity at equivalent density. Parenthetically, a comparison set of 100-ball ensembles shows identical trends with wider variances [Fig. S5, ESI†], indicating that finite-boundary effects do not significantly modulate the intrinsic statistics of the weighted Voronoi decompositions and that the 1000-ball ensembles balance converged statistics and computational efficiency.
In contrast to polydispersity, density (ρ) effects on the deviation between corresponding power and additively weighted cells are more complex. At high CV values e.g., CV > 0.8 under PBC, avg(|Δv|) increases monotonically with density within the range tested. Although packing of highly polydisperse balls increases the divergence in volume between power and additively weighted cells, the positive slope moderates with density. At lower polydispersity e.g., CV < 0.4, the slope with density is negative
. At intermediate polydispersity, a reversal in the density-slope of avg(|Δv|) is observed. The second derivative of avg(|Δv|) as a function of density is, therefore, overall negative i.e.,
, and indicates compensation between a volume-divergent effect by polydispersity on the one hand, and convergent effects on avg(|Δv|) by packing on the other.
Some features of the avg(|Δv|)–density profiles reflect expected properties of power and additively weighted Voronoi cells. As elaborated in the Appendix, the power cells defined by a pair of unequally sized, non-overlapping balls intersect the ball–ball axis closer to the larger ball than the corresponding additively weighted cells. Moreover, the flat-faced power cell over-captures the volume for smaller balls than the curved additively weighted cells, and under-capture volume for larger balls. The reverse is true for a pair of overlapping balls. The translation to polydisperse ensembles is illustrated in Fig. 4B in which balls are colored by the (signed) Δv of their assigned weighted Voronoi cells. Mapped to a common scale, highly polydisperse ensembles exhibit a wider range in avg(Δv). Small balls are associated with positive avg(Δv) i.e., inflated power cells while larger balls are associated with negative avg(Δv). The absence of the inflated power cells in the toy model (Fig. 2) at low radial ratio (i.e., small probe), where the embedding balls are uniform, underscores polydispersity as the primary driver of divergence between the two schemes.
In the presence of ball overlap, the ensembles at equivalent polydispersity and density are progressively less volume-divergent i.e., lower avg(Δv) than their non-overlapping counterparts. This may be rationalized by the curved additively weighted faces between unequal neighbors, which are concave with respect to the smaller ball (cf., Fig. 1B). Within an overlap, this concavity increases the share for the smaller ball (versus a power cell) in opposition with the effect without overlap. Thus, overlap uniformly opposes the volume-divergent effect of polydispersity.
With respect to density, it may be rationalized by noting that power and additively weighted edges are locally the least divergent where neighbors are the closest (cf., Fig. 1B). This would suggest that closer packing (higher density) leads to progressively less-curved additively weighted cells. Such an explanation is incomplete, however, given that the vertices of power and additively weighted cells do not generally coincide i.e., power cells are not flat-faced additively weighted cells, and that for polydisperse ensembles at high density. Polydispersity thus divides the density dependence of avg(|Δv|) into two distinct régimes.
To dissect the non-uniform effects of polydispersity and packing on power and additively weighted cells, we analyzed avg(Δv) as a function of radius [Fig. 4C]. By definition, the sign of avg(Δv) for any ensemble is balanced at the radial average which was set at unity. With increasing density, balls below the average radius at low polydispersity differentially inflate power cells, while balls above the average radius are differentially deflationary. This behavior is reinforced by overlap. By contrast, there is no reversal with density in the role of balls above and below the average at high polydispersity. Instead, balls below the average radius strongly inflate power cells with increasing density. This contribution is moderated but not mitigated by overlap. The analysis thus specifically implicates smaller balls as the drivers of avg(Δv) and avg(|Δv|) via their strong inflation of their power cells at high polydispersity, several examples of which are shown in Fig. 4D.
![]() | (10) |
Although only the R–L distribution is formally a gamma distribution, the three models are similar in line shape [Fig. 5A].
We generated ensembles of balls using radii sampled from the three experimental distributions and analyzed the resultant density dependence of avg(|Δv|). The parameterization by DeVries showed larger deviation between the power and additively weighted decompositions over the R–L and GO–H distributions [Fig. 5B]. Based on the developed framework, the greater magnitude of and density dependence of avg(|Δv|) for the DeVries distribution is expected to have its basis in a higher polydispersity over the other two distributions. This hypothesis is borne out by a direct estimate of the CV for the three distributions, which is largest for the DeVries distribution (CV = 0.600). The DeVries avg(|Δv|)–density profile compares most closely with the non-overlapping ensembles drawn gamma distribution sampled at CV = 0.7 (Fig. 4A), supporting the general applicability of the gamma distribution to physicochemical systems.
Both the R–L and GO–H distributions showed very similar avg(|Δv|) over the entire range of density tested, even though their respective PDFs are not themselves superimposable. The R–L distribution exhibits a wider skew with a measured standard deviation of 0.422 (versus 0.317 for GO–H). However, the GO–H distribution is more skewed towards small balls with a mean radius of 0.751. The two statistics compensate to yield an identical CV value of 0.422. The superimposable avg(|Δv|) across the full density range tested, thus provides further and orthogonal support for the foregoing results as a framework for interpreting experimental data.
![]() | (11) |
ΔΨ ≡ ΨP − ΨAW | (12) |
A ball whose power cell is more spherical than its additively weighted counterpart has a positive ΔΨ value and vice versa. The results are presented as two-dimensional histograms (biplots) of avg(Δv) and ΔΨ (Fig. 6A). On the one hand, there is a clear correlation between less spherical power cells (negative ΔΨ) with inflated power volumes (positive Δv; upper left quadrant). Indeed, the sign of Δv also divides the subpopulations of inflated power cells by their relative non-sphericity (left and right halves of the biplots). On the other hand, ΔΨ is strongly determined by ball radius, with the power cells of small balls overwhelmingly exhibiting less spherical geometry. Comparison of the distributions by overlap shows that the bias among the four quadrants is less pronounced when overlap occurs. Taken together, the results implicate small balls in producing less spherical and more volume-inflated power cells that dominate the overall divergence in avg(|Δv|) relative to additively weighted Voronoi cells.
![]() | ||
Fig. 6 Asphericity of power cells drives volume inflation and divergence from additive weighting. (A) and (B) Representative distributions of Δv and sphericity difference (ΔΨ) between power and additively weighted cells across PBC and non-PBC ensembles. Each plot on the left shows the pooled ensembles corresponding to the marked position in the avg(|Δv|)–density profile, reproduced from Fig. 4A, on the right. (A) Plots of the PBC sphericity difference of each cell from ensembles with CV = 1.0 across overlap values of 0.0 and 1.0 and density values of 0.1 and 0.5. (B) Corresponding distributions from the non-PBC ensembles with CV = 1.0 and densities of 0.1, 0.4, and 0.5 and overlap values of 0.0 and 1.0. |
To probe the generality of the interplay between sphericity and distribution of ball radius further, we scrutinized the non-PBC ensembles under the same conditions of high polydispersity (CV = 1.0) because the case with overlap = 1.0 presents a clear-cut example of the volume-convergent effects of packing [Fig. 6B]. We scrutinized ensembles sampled at extreme dispersities as well as the maximum divergence (marked 14, 15, and 16 in Fig. 4A). As a “control”, the non-PBC ensembles without overlap (points 11, 12, and 13) recapitulate the monotonic trends noted in their PBC counterparts in Fig. 5A. However, the reversal in avg(|Δv|) in the case of overlap (points 14 to 16) distinctly tracks with the relative abundance of the subpopulation in the upper left quadrant i.e., aspherical, volume-inflated power cells. The statistics thus strongly complicate the less spherical power cells of small balls as the primary contributor to the volumetric divergence from additively weighted cells.
If balls intersect, the partition within the overlap produces a contribution that favors the additively weighted cell of the small ball (cf., Fig. 2B), in opposition to the situation outside the overlap or in the disjoint case. As derived in the Appendix and illustrated in Fig. 7E for a pair of overlapping balls, this contribution arises from a reversal of the relative positions of the power and additively weighted boundary along the center axis. To calibrate the compensation afforded by the overlap against the inflated power cell of the smaller ball, we analyzed the local volumes of the sectors enclosed by the projection from a test point on the center axis to its power and additively weighted boundaries as a function of deviation (denoted by D) from the axis [Fig. 7F]. This analysis models the compensatory effect of density on avg(Δv) in overlapping ensembles. With increasing distance from the center axis, the loss of volume compensation is primarily sensitive to the extent of overlap, but not difference in ball sizes [Fig. 7G]. The translation to ensembles [Fig. 7H] recapitulates this mechanism by which the overlapping balls comprise the least volume-divergent constituents across the full range of local packing scenarios.
From a practical point of view, significant rationale exists for colloidal suspensions and engineering foams to enrich fine particles (e.g., by sonication, impelling, extrusion, sparging) for enhanced mass and thermal transfer with their embedding phase.29,71,72 Such physically important ensembles would be expected to exhibit, at equivalent density, more divergent power approximation of their additively weighted Voronoi volumes. Conversely, the coarsening or ripening of foams and other colloidal systems, where small constituents are preferentially removed from the population, is expected to favor volume convergence. In the literature, hybrid weighting schemes have been proposed that define regions in which additively or power weighting are applied to reduce computational burden,73 or evolve physics-based curvature (e.g., Plateau's laws) in a power framework.74 As an alternative, the present results provide a convenient calibration from one weighting scheme to the other over a broad range of polydispersity, density, and overlap when direct computation of the underlying diagram is not needed (or possible). Usefully, as applications to experimental foam systems show, these calibrations give consistent predictions and physical interpretations even for distributions that are not gamma in form.
As part of this work, we developed fully open-source code (VORPY) for constructing and analyzing power and additively weighted Voronoi diagrams. Current programs that compute weighted Voronoi diagrams have catered to biomolecular applications23,25 in which the constituent balls (atoms) have radii discretized by composition and distance and angular constrained by chemical bonding. The atomic density (or packing coefficient) in protein crystals is typically between 0.5 and 0.6,75 and therefore similar in magnitude to the overlapping ensembles investigated here. However, the balls in statistical ensembles may have any radius and geometry permitted by the preset size distribution and overlap. The permissive size specification and organization of balls in statistical ensembles present analytically challenging geometries for additive weighting not likely encountered with structured macromolecules such as proteins. The solutions to these scenarios, which are detailed in a separate work, commend VORPY for a wide scope of applications. VORPY therefore complements the field as an integrated tool for analyzing physicochemical systems by weighted Voronoi diagrams.
We further assume that r2 ≥ r1, and only consider pairs of balls S1 and S2 such that S1 is not contained in S2. This implies:
r1 ≤ r2 < a + r1 | (13) |
We aim to determine where the Voronoi surface of power and additively weighted Voronoi diagrams (awVD) between S1 and S2 intersects the x-axis.
To solve the absolute value equation for the awVD with respect to x, we need to distinguish three cases:
(1) xaw < 0: in this case, from |xaw| − r1 = |xaw − a| − r2, we get −xaw − r1 = −xaw + a − r2, which leads to r2 = a + r1. This case was excluded by assumption.
(2) xaw > 0: in this case, from |xaw| − r1 = |xaw − a| − r2, we obtain xaw − r1 = xaw − a − r2, which leads to a = r1 − r2. Since, by assumption, a > 0 and r2 ≥ r1, this case cannot occur either.
(3) 0 ≤ xaw ≤ a: in this case, from |xaw| − r1 = |xaw − a| − r2, we obtain xaw − r1 = a − xaw − r2 and therefore .
Thus, the intersection points are:
Since r2 ≥ r1, the correction terms which are subtracted from are always non-negative. If r1 = r2, the intersection point is at
in both diagrams. As r2 increases, the intersection shifts toward the origin and thus toward S1. This increases the contribution of S2 to the Voronoi cell of S1.
From the formulae, one can also deduce when the face from the power diagram or the awVD lies closer to S1:
(1) If S1 and S2 are disjoint, then r1 + r2 < a, and thus . In this case, the face from the awVD lies closer to S1 than the face from the power diagram.
(2) If S1 and S2 overlap, then r1 + r2 ≥ a, and thus . In this case, the face from the power diagram lies closer to S1 than the face from the awVD.
Footnote |
† Electronic supplementary information (ESI) available: Supplemental methods on FOAM_GEN and Fig. S1–S6. See DOI: https://doi.org/10.1039/d5cp00763a |
This journal is © the Owner Societies 2025 |