1 Introduction

In recent decades, there has been a rising interest in the solar system’s minor bodies. Space agencies have sent missions to a number of asteroids and comets, with several culminating in proximity operations, including low altitude orbits (Accomazzo et al. 2015), landings (Antreasian et al. 2001; Jurado et al. 2016), touch-and-goes (Yoshikawa et al. 2020; Hanna 2021; Kikuchi et al. 2021), and impacts (A’Hearn et al. 2005; Stickle et al. 2017). These excursions have revealed that the solar system’s minor bodies are often irregular in shape (Taylor et al. 2012; McNeill et al. 2019) and can contain significant density heterogeneities (Kanamaru et al. 2019; Scheeres et al. 2020). These features affect the gravitational field creating a rich dynamical environment (Scheeres 2015; Lages et al. 2017, 2018). To better predict the motion of objects in this environment, the gravitational model must account for these asymmetric features. Different models exist for this purpose based on: harmonic expansions (Vallado 2013), both spherical (Gotlieb 1993; Eckman 2016) and ellipsoidal (Romain and Jean-Pierre 2001; Dechambre and Scheeres 2002); analytic integration over polyhedral surface definitions (Werner 1994; Tsoulis 2012; D’Urso 2014; Werner 2017; D’Urso 2014); interpolation of pre-computed gridded field data (Hu and Ji 2017); superposition of simple analytic sources (Bartczak et al. 2006; Zeng et al. 2015, 2018); and volumetric integration.

The mass-concentration (mascon) model falls into the category of volumetric integration. In this approach, the interior of the object is filled with a finite set of point masses (mascons), who’s summed total mass equals that of the object. The efficiency of the model, defined by the accuracy per mascon, is dependent upon the distribution—i.e., where mascons are located within the body and how mass is partitioned amongst those locations. For many applications (Hinckely et al. 2018), the gravitational field must be evaluate a large number of times and so there is interest in increasing model efficiency. As such, there is a body of work dedicate to developing more efficient mascon distribution techniques.

Conceptually, distribution techniques broadly fall into two categories: one, spherical packing, and two, the application of numerical integration (Stroud 1971; Engels 1980) to finite volume meshes (FVM). The traditional distribution technique has been to pack the body’s interior with equal-mass particles arranged according to a primitive cubic lattice—i.e., a Cartesian grid (Geissler et al. 1996; Werner 1997; Jiang et al. 2016; Amarante et al. 2021). Werner and Scheeres (1997) found that this type of distribution is inaccurate near the surface and converges slowly with increasing resolution. These deficiencies prompted the development of distribution techniques based on: non-uniform packing with large interior concentrations (Tardivel 2016; Rathinam and Dempster 2019; Srinivas et al. 2017), genetic algorithms (Colagrossi et al. 2015), anisotropic tetrahedral meshes (Chanut et al. 2015), and unstructured mixed-element meshes (Pearl and Hitt 2017, 2016). All of these methods, however, still suffered from slow convergence and low accuracy near the surface.

In this paper, we expand upon our previous work (Pearl and Hitt 2017, 2016) to improve the near-surface accuracy of the resulting mascon distribution. We provide the mathematical framework needed to generate mascons from curvilinear tetrahedral meshes of arbitrary degree using numerical integration, also of arbitrary degree. We describe a new mesh generation approach tailored for creating mascon distributions. We then present the results for rectilinear meshes and degree-2 curvilinear meshes and compare the accuracy of our new mascon distribution techniques to those from the literature using Asteroid 101955 Bennu and 432 Eros as test geometries.

2 Governing equations

The gravitational potential of an arbitrarily shaped object can be calculated according to the integral,

$$\begin{aligned} U = -G\int _M \frac{\textrm{d}m}{r}, \end{aligned}$$
(1)

in which r is the distance between the calculation point and the differential mass \(\textrm{d}m\), G is the gravitational constant, and M is the body’s mass. These parameters are shown schematically in Fig. 1. We adopt the convention that the vector,

$$\begin{aligned} {\textbf{r}} = {\textbf{x}}-{\textbf{p}}, \end{aligned}$$
(2)

runs from the calculation point, \({\textbf{p}}\), to the differential mass’s position, \({\textbf{x}}\). Applying an arbitrary numerical integration rule to the integral of Eq. (1) results in a simple summation,

$$\begin{aligned} U = -\sum _i^{N_i} \frac{\mu _i}{r_i}, \end{aligned}$$
(3)

in which \(\mu _i\) is the standard gravitational parameter of mascon i and the summation occurs over the \(N_i\) mascons in the distribution. The formulas for the gravitational acceleration, \({\textbf{a}}\), and gradient tensor, \(\nabla {\textbf{a}}\), are then determined by applying the appropriate operators:

$$\begin{aligned}{} & {} {\textbf{a}} = - \nabla U = \sum _i^{N_i} \frac{\mu _i{\textbf{r}}_i}{r^3_i}, \end{aligned}$$
(4)
$$\begin{aligned}{} & {} \nabla {\textbf{a}} = \sum _i^{N_i} \frac{\mu _i(3\hat{{\textbf{r}}}_i\otimes \hat{{\textbf{r}}}_i-{\textbf{I}})}{r^3_i}. \end{aligned}$$
(5)

In Eq. (5), \({\textbf{I}}\) is the identity matrix and a hat signifies a unit vector.

Fig. 1
figure 1

Schematic illustrating the implementation of the mascon model

3 Distribution techniques

3.1 Packing distributions through the FVM lens

The mascon distribution problem is often framed as a spherical packing problem by which rigid spheres are used to fill the interior of the body. Whether one chooses to view the problem as packing or numerical integration over finite volume meshes is really a point of semantics as both approaches can arrive at the same end result. Uniform packing distributions are an excellent example of this point. Packing according to a primitive cubic lattice (PC) is equivalent to a one-point, centroid integration rule applied to a hexahedral mesh, a body-centered cubic lattice (BCC) is equivalent to tessellating space with truncated octahedra, and a face-centered cubic lattice (FCC) is equivalent to a tessellation of rhombic dodecahedra. In general, a tessellation can be constructed for any arbitrary distribution of points and partition of volume, with each cell being some arbitrary polyhedron. The classic example is the Voronoi diagram (Voronoi 1908) which defines the region of space closest to a given point. This constitutes a geometrically rigorous solution to the issue of mascon mass and packing fraction brought up by Tardivel (2016). Through the FVM lens, packing distributions can be understood as a degree-0 method for solving the integral of Eq. (1). Packing distributions do not conform to the surface mesh but instead represent a voxelization of space. This provides a theoretical explanation for the independence of mascon model accuracy from surface mesh resolution observed by Tardivel (2016) and Srinivas et al. (2017). A higher-resolution surface mesh would need to locally differ from the low-resolution counterpart by a distance greater than the lattice spacing to affect the distribution.

To construct a PC lattice, we simply create a Cartesian grid (xyz). For a BCC lattice we use two grids (xyz) and \((x+\delta ,y+\delta ,z+\delta )\) where \(\delta \) is half the grid spacing. For an FCC lattice we use four staggered grids (xyz), \((x+\delta ,y+\delta ,z)\), \((x+\delta ,y,z+\delta )\), \((x,y+\delta ,z+\delta )\) (Tardivel 2016). Only internal lattice points are kept and whether a lattice point is internal or external is determined using the polyhedral model (Werner 1997; Pearl and Hitt 2020). Once the internal lattice is constructed, mass is distributed uniformly across the mascons.

3.2 Extended tetrahedral FVM distributions

The extended tetrahedral approach was developed by Chanut et al. (2015) and involves applying the one-point, centroid integration rule to tetrahedral and mixed-element finite volume meshes. The finite volume mesh is generated from a triangular surface mesh by connecting each triangle to the centroid of the body forming tetrahedra. The tetrahedra can then be sliced to form layers of prismatic cells surrounding a tetrahedral core. A mascon is placed at the centroid of each cell and assigned a mass consistent with the cell’s density and volume. As many as 10 layers have been used to model the dynamics of bodies with heterogenous mass distributions (Albjaae et al. 2017, 2019; Chanut et al. 2017). To date, the method has only been applied to rectilinear meshes and we extend the approach to curvilinear surface meshes of arbitrary degree. We also examine the effect of “lumping” the inner most layer of tetrahedral cells to decrease the mascon count.

3.2.1 Rectilinear approach of Chanut et al. (2015)

For a single-layer distribution, i.e., just tetrahedra, the centroid,

$$\begin{aligned} {\textbf{c}}^{tet} = \frac{{\textbf{x}}_1+{\textbf{x}}_2+{\textbf{x}}_3+{\textbf{x}}_4}{4}, \end{aligned}$$
(6)

is located at the average position of the 4 vertices, and the volume,

$$\begin{aligned} V^{tet} = \frac{({\textbf{x}}_1-{\textbf{x}}_4)\cdot ({\textbf{x}}_2-{\textbf{x}}_4)\times ({\textbf{x}}_3-{\textbf{x}}_4)}{6}, \end{aligned}$$
(7)

is determined by the box product. When multiple layers are used, the volumes and centroids are calculated iteratively by subtracting the lower tetrahedral volume, \(V^{tet}_l\), from the upper, \(V^{tet}_u\), to get the prism volume,

$$\begin{aligned} V^{prism}_q = V^{tet}_u - V^{tet}_l. \end{aligned}$$
(8)

The centroid of the prism can be calculated similarly,

$$\begin{aligned} {\textbf{c}}^{prism} = \frac{{\textbf{c}}_u^{tet}V^{tet}_u - {\textbf{c}}_l^{tet}V^{tet}_l}{V^{prism}}. \end{aligned}$$
(9)

Density is then assigned to each cell or the total mass can be used to determine the correct standard gravitational parameter for each concentration in the homogeneous case.

3.2.2 Extension to curvilinear meshes

Using curvilinear surface definitions provides a correction to the mascon masses and positions generated by the extended tetrahedral approach. This correction is based on the local curvature of the surface. For a curvilinear surface mesh each extended tetrahedron has 3 flat faces, internal to the body, and a single curvilinear face that discretizes the surface. For a tetrahedron with a single curved face, the volume and centroid are determined from the surface integrals,

$$\begin{aligned}{} & {} V_{tet}= 1/3\int _S {\textbf{x}}\cdot \textrm{d}{\textbf{S}}, \end{aligned}$$
(10)
$$\begin{aligned}{} & {} {\textbf{c}}_{tet} = \frac{1}{4V}\int _S {\textbf{x}}\ {\textbf{x}}\cdot \textrm{d}{\textbf{S}}, \end{aligned}$$
(11)

in which \({\textbf{x}}\) runs from the internal tetrahedral vertex to the exterior surface and \(\textrm{d}{\textbf{S}}\) is the differential area vector at \({\textbf{x}}\). We define our curvilinear surface,

$$\begin{aligned} {\textbf{x}}({\textbf{x}}') = \sum _g {\textbf{x}}_g\psi _g({\textbf{x}}'), \end{aligned}$$
(12)

as an expansion of two-dimensional Lagrange interpolating polynomial functions, \(\psi _g\), and corresponding interpolation points \({\textbf{x}}_g\). This definition maps from the 2D parametric space, \({\textbf{x}}' = (x',y')\), of the unit right triangle to a 3D curvilinear triangle in \({\textbf{x}}=(x,y,z)\). This is shown schematically in Fig. 2. The subscript g is used to indicate geometric interpolation. With this definition, the integrands of Eqs. (10) and (11) become polynomials of finite degree and can thus be calculated exactly through an appropriate two-dimensional numerical integration rule,

$$\begin{aligned}{} & {} V_{tet} = 1/6\sum _i w_i \ {\textbf{x}}_i \cdot {\textbf{A}}_i, \end{aligned}$$
(13)
$$\begin{aligned}{} & {} {\textbf{c}}_{tet} = \frac{1}{8V}\sum _i w_i \ {\textbf{x}}_i \ {\textbf{x}}_i \cdot {\textbf{A}}_i. \end{aligned}$$
(14)

The summations occur over the numerical integration points, each of which has a weight, \(w_i\), a position vector, \({\textbf{x}}_i={\textbf{x}}({\textbf{x}}'_i)\), and an area vector,

$$\begin{aligned} {\textbf{A}}_i = \sum _g {\textbf{x}}_g\frac{\partial \psi _g({\textbf{x}}'_i)}{\partial x'} \times {\textbf{x}}_g\frac{\partial \psi _g({\textbf{x}}'_i)}{\partial y'}. \end{aligned}$$
(15)

We use Newton–Cotes rules to define the integration points \((x'_i,y'_i)\) and corresponding weights, \(w_i\), within the parametric coordinate space of the unit right triangle. Multiple layers are handled in the same manner as the rectilinear case.

Fig. 2
figure 2

Schematic showing the transformation from the 2D unit right triangle to a 3D curvilinear triangle

3.2.3 Lumped core

Slicing tetrahedra concentrates mascons near the interior of the body and for a homogeneous object this is inefficient.Footnote 1 To improve efficiency for this circumstance, we have developed a lumped-core approach. In this method, the inner most layer of tetrahedral cells is spherical—i.e., the slice occurs at the same radius for all tetrahedra. This inner spherical core is treated as a single mascon with mass and position consistent with the summed tetrahedra comprising the core. The radius of the spherical core is determined such that the minimum distance from the sphere to the preceding layer is equal to the surface mesh resolution—i.e., the average edge length. In comparison with extended tetrahedral distributions without slicing, the lumped-core approach improves the validity of the point-mass approximation by reducing the aspect ratio of the finite volumes at the expense of including a single additional mascon in the distribution.

An example of the lumped-core approach is shown in Fig. 3. In this example, two layers are used—i.e., single slice. The exterior surface is represented with a 78-face P2 curvilinear mesh and the inner core is P2 as well. A single-sliced tetrahedron is shown in subfigure (a) with element centroids shown as circular markers. The final mascon distribution inside the ghosted mesh is shown in subfigure (c). A large yellow marker is used for the lumped core and gray for the mascons derived from the outer layer of prismatic cells.

Fig. 3
figure 3

Example of a coarse two-layer lumped-core approach applied to a 78-face, curvilinear, P2 mesh of Asteroid 101955 Bennu (Pearl 2019)

Fig. 4
figure 4

Demonstration of the distribution process using our iterative offset surface approach

3.3 Unstructured FVM distributions

In our previous work, we used a one-point, centroid integration rule applied to unstructured tetrahedral meshes and their polyhedral duals to distribute mascons (Pearl and Hitt 2016). Commercial mesh generation software was used to grade meshes resulting in large interior mascons and a smooth variation in mascons mass with depth. The method improved upon uniform packing; however, it was still inaccurate at the body’s surface and required significantly more computational elements than the analytic polyhedral model for equivalent accuracy (Pearl and Hitt 2017). In this section, we detail our approach for generating mascons from unstructured tetrahedral meshes. This work builds upon our previous work (Pearl and Hitt 2016, 2017): We generalize from rectilinear meshes to curvilinear, adopt new numerical integration rules, and use a new method for seeding the internal vertices of the FVM mesh. Additionally, we now place mascons at the center of mass of each integration point instead of at the integration point itself. This provides a physically more accurate description and, crucially, prevents mascons from being seeded on the body’s surface.

3.3.1 Mesh generation

Volume meshes are generated from a closed triangular surface mesh and a point cloud occupying the interior. Together, the surface mesh vertices and the point cloud become the vertices of the new volume mesh. The tetrahedral cells of the volume mesh are generated by calculating the Delaunay triangulation for this set of points. The process produces a mesh of the convex hull of the vertices and so cells exterior to the body must be removed. We do this by identifying whether each cell’s centroid is internal or external to the body using the method of (Pearl and Hitt 2020).

We use three different methods to generate the seed point cloud—these will be compared and contrasted in the results section. In our first approach we use lattices, PC, FCC, or BCC. This method facilitates comparison between our finite volume approach and the packing approach of previous studies (Tardivel 2016; Werner 1997). In our second approach, we distribute points on an octree with refinement in the near-surface region, this is similar to the packing distribution method of Rathinam and Dempster (2019). In our implementation of the octree, we split hexahedra that intersect the surface down to a maximum number of prescribed refinements which we will call the number of layers. Two layers would correspond to single refinement step. Our third and final approach involves iteratively offsetting the surface mesh into the interior of the body and using the vertices of the offset meshes as the seed points. In this approach, we specify a coarsening factor between zero and one. This factor determines the multiplicative reduction in the number of mesh vertices between subsequent layers. The offset between subsequent layers is equal to the resolution of the coarser mesh. An example of a set of layered surface meshes, the volume mesh they produce, and the resulting mascon distribution are shown in Fig. 4. In this example, the initial surface mesh has 14,996 facets and each inset surface contains 1/3 the number of facets of the previous.

Fig. 5
figure 5

Schematic showing the transformation from the unit right tetrahedron to a 3D, degree-2, T10, curvilinear tetrahedron (Pearl 2019)

3.3.2 Numerical integration rules

Mascon locations and masses are determined by applying numerical integration rules to our curvilinear tetrahedral meshes. This requires two independent sets of points. The first set consists of the geometric interpolation points which define the shapes of the curvilinear tetrahedra. The second set consists of the integration points. These integration points define the mascon locations and how the mass of tetrahedra is partitioned—e.g., to the vertices, to the centroid, etc. The mass and center of mass associated with an integration point, q, are determined according to volume integrals,

(16)

and

(17)

The basis function, \(\psi _q\), is only nonzero for the subset of tetrahedra that point q belongs to. For instances, when we use the degree-1 centroid scheme the basis function is one within the corresponding tetrahedron and zero in all others. To solve the integrals of (16) and (17) the process is similar to one taken in Sect. 3.2.2. We define the geometry,

$$\begin{aligned} {\textbf{x}}({\textbf{x}}') = \sum _g {\textbf{x}}_g \psi _g({\textbf{x}}'), \end{aligned}$$
(18)

and the density field,

$$\begin{aligned} \rho ({\textbf{x}}') = \sum _k \rho _k \psi _k({\textbf{x}}'), \end{aligned}$$
(19)

in terms of an expansion of 3D Lagrange basis functions, \(\psi \), and interpolation point values, \({\textbf{x}}_g\) and \(\rho _k\), which together map from the unit right tetrahedron to its 3D curvilinear counterpart. The degree of the interpolation does not need to be the same for the geometry and the density field. The geometry transformation is illustrated in Fig. 5. For this geometric definition, the Jacobian determinant is

$$\begin{aligned} J({\textbf{x}}') = \sum _g {\textbf{x}}_g \frac{\partial \psi _g({\textbf{x}}')}{\partial x'}\cdot \sum _g {\textbf{x}}_g \frac{\partial \psi _g({\textbf{x}}')}{\partial y'} \times \sum _g {\textbf{x}}_g \frac{\partial \psi _g({\textbf{x}}')}{\partial z'}. \end{aligned}$$
(20)

With these definitions, Eqs. (16) and (17) can be converted into integrals over the unit right tetrahedron,

$$\begin{aligned} m_q = 1/6 \sum _{V^*}\int \rho ({\textbf{x}}') \ \psi _q({\textbf{x}}') \ J({\textbf{x}}')\ \textrm{d}{\textbf{x}}', \end{aligned}$$
(21)

and

$$\begin{aligned} {\textbf{c}}_q =\frac{1}{6m_q}\sum _{V^*}\int \rho ({\textbf{x}}') \ \psi _q({\textbf{x}}') \ {\textbf{x}}({\textbf{x}}') \ J({\textbf{x}}') \ \textrm{d}{\textbf{x}}', \end{aligned}$$
(22)

summing over the \(V^*\) volumes for which \(\psi _q\) is nonzero. To solve the integrals, we apply a Newton–Cotes rule of sufficiently high degree to achieve exact integration. The rule is defined by \(N_i\) integration points, located within the unit right tetrahedron, at parametric coordinates \({\textbf{x}}'_i\) and with associated weights \(w_i\). The mass associated with integration point q is

$$\begin{aligned} m_q = 1/6\sum _{V^*}\sum _i w_i \rho ({\textbf{x}}_i') \psi _q({\textbf{x}}'_i) \ J({\textbf{x}}'_i), \end{aligned}$$
(23)

and the center of mass,

$$\begin{aligned} {\textbf{c}}_q =\frac{1}{6m_q} \sum _{V^*} \sum _i w_i \rho ({\textbf{x}}_i')\ \psi _q({\textbf{x}}'_i)\ {\textbf{x}}({\textbf{x}}'_i) \ J({\textbf{x}}'_i). \end{aligned}$$
(24)
Fig. 6
figure 6

Different distributions from the literature are plotted with marker size and color varying according to the relative length scale of the mascon, yellow–large, blue–small. Color and marker size are not tied to the absolute size and are not consistent across subplots

In this paper, we compare four different integration rules to generate mascons. The first is a degree-1 centroid rule which results in a single mascon located near each cell centroid. The second is a degree-1 vertex scheme with linear basis functions. The third is a degree-2 scheme with quadratic basis functions and nodes located at the vertices and edge midpoints, commonly referred to as T10. The fourth and final scheme is a modified degree-1 vertex scheme that excludes vertices located on the surface of the body. In each cell that contains a surface vertex, that vertex’s allotment is equally distributed among the interior vertices of that cell. This last approach allows high-resolution surface meshes to be used without ballooning the mascon count.

3.4 Summary of distribution methods

We have described three different methods for distributing mascons: lattice packing, extended tetrahedral FVM distribution, and unstructured tetrahedral FVM distribution, all of which have several sub-variants. We examine three different packing distribution methods based on different types of lattices: primitive, body-centered, and face-centered. A PC distribution is shown in Fig. 6. The variations of the extended tetrahedral approach we will consider are the: 1-layer and 3-layer rectilinear methods of Chanut et al. (2015), pictured in Fig. 6; the P2 curvilinear extension; as well as 2-layer lumped-core approaches for P1 and P2 meshes. For the unstructured tetrahedral distributions we examine the effects of varying the mesh degree, the integration rule, and the internal vertex seeding method. Some example distribution are shown in Figs. 7 and 8. The distributions in Fig. 7 were generated from the same volume mesh with different integration rules: vertex, centroid, and T10. In Fig. 8, distributions using the BCC lattice and octree approaches to seed interior vertices are shown. The vertex integration rules, with and without surface vertices, are also compared.

Fig. 7
figure 7

Distributions generated with different numerical integration rules using our finite volume mesh based approach. The finite volume mesh is generate from a 2000-facet mesh of Bennu with 600 interior points arranged on a simple lattice

Fig. 8
figure 8

Distributions generated with different volume meshes, interior point arrangements using our finite volume mesh based approach. The finite volume mesh is generate from a 2000-facet mesh of Bennu and the specified interior point arrangement strategy. In a, b, the degree-1 vertex integration rule is used while in c the surface vertex exclusion scheme is used

4 Results

All our results are generated using the Gravitational and Mesh Adaption (GaMA) toolbox available on GitHub Pearl (2021). For reproducibility purposes, we have published all the scripts we used for this paper in the repo under subdirectory scripts/Reproducibility/masconpaper. The version of the code used has been tagged v0.3.

We assess the accuracy of our distributions relative to the analytic polyhedron model of Werner (1994) on a high-resolution “truth” mesh. For Eros we use a truth mesh with 46,906 facets and for Bennu, 198,691. For objects with asymmetric shapes, the accuracy is a function of the latitude, longitude, and the altitude, and so to simplify our analysis, we average the error over a point cloud lying on a constant-altitude surface. The resulting averaged error metric is a function of altitude alone. We define altitude as the minimum distance between a point and the body’s surface. We use the \(L_2\) error norm as our primary error metric as this is often the error metric used in literature (Tardivel 2016). For completeness, we also provide the \(L_1\) and \(L_\infty \) error norms in many of our figures. When this is the case, lines with markers define the \(L_2\) and dashed lines of the same color the \(L_1\) and \(L_\infty \). In all cases, we present error results for the gravitational acceleration field as the gravitational potential field error is significantly lower and of less interest in application. In many of the plots, we include the error of the analytic polyhedral model. We calculate this error by comparing the gravitational acceleration with a coarse mesh to that of the high-resolution truth mesh. Finally, we define the number of computational elements as the number of mascons for the mascon model and the number of surface facets for the analytic polyhedral model.

4.1 Time-cost

We define the speed-up as the ratio of the time-cost per facet of the analytic polyhedral model divided by the time-cost per mascon of the mascon model. Time-cost per element (facet/mascon) is calculated by taking a linear regression of the average time required to calculate the acceleration as a function of the number of elements for \(N_f\in [346,23476]\). The single-layered extended tetrahedral mascon distribution method of Chanut et al. (2015) is used resulting in an equal number of mascons and surface facets. The trial was run on a computer with an Intel Core i5-7440HQ CPU 2.80GHz and 7.7GiB RAM.

With our machine using GaMA we found the speed-up to be \(15\times \). This result is compared to the results from the literature in Table 1. Rathinam and Dempster did not explicitly state a speed-up in their work and the value in the table comes from comparing the analytic polyhedral model’s run-time to that of their coarse octree distribution, both of which were comprised of a similar number of elements (Rathinam and Dempster 2019). (Chanut et al. 2015) used Tsoulis’s formulation of the analytic polyhedral model (Tsoulis 2012). Our previous result from 2017 (Pearl and Hitt 2017) used a slightly less efficient implementation that did not preprocess several variables and this explains the discrepancy with the present result.

Table 1 Speed-up of mascon model relative to analytic polyhedral model
Fig. 9
figure 9

Average acceleration field error (L1 norm) for a given altitude is plotted with respect to the mesh inset distance for a simple packing distribution with 5000-concentrations. Inset distance is normalized by the lattice spacing

4.2 Inset depth and packing distribution accuracy

When a lattice-based packing approach is used to distribute mascons, some mascons will be located very close to the surface—i.e., at depth much less than the distribution’s spacing. This can have significant negative implications for the gravitational model’s accuracy near the surface since each mascon is a singularity. One approach for mitigating this issue, to a degree, is to require mascons to have a minimum depth. We do this by creating an inset surface mesh from the original surface mesh and use that inset mesh to determine whether a mascon is located internally or externally. This approach was used previously by Wittck and Russell with their hybrid mascon-harmonic method (Wittick and Russell 2019).

In this section, we examine the effect the inset depth has on the accuracy of the mascon model with a PC packing distribution. A 4996-facet surface mesh of Eros, with resolution of 526-m, is used as the surface definition. The packing lattice is spaced to produce approximately 5000 mascons in total and this results in a resolution of 794-m. The inset distance is then varied between 0 and 794-m.

The average error of the acceleration field is shown in Fig. 9 for altitudes of 14 and 14,000-m. The error is plot with respect to the inset depth normalized by the lattice spacing, 794-m. At low altitude, \(h=14\)-m, an optimal inset depth is about \(0.375\times \) the lattice spacing—improving accuracy by approximately two-times. At high altitude, \(h=14\)-km, zero inset is optimal. Thus, it appears insetting the mesh is a trade-off, sacrificing some accuracy at higher altitudes for improved accuracy near the surface. For this particular case, an inset of \(0.25\times \) the lattice spacing provides a nice balance.

Fig. 10
figure 10

Acceleration field error norms (\(\%\)) are plotted as a function of number of computational elements for asteroids Eros and Bennu at altitudes equal to 1/1000 the max radius and equal to the max radius. Packing-type distributions with different lattice structures and thus different packing fractions are compared

4.3 Effects of packing fraction

In this section, we look at three different types of uniform packing distributions each of which has a different packing fraction. Packing fraction quantifies the amount of porosity when a volume is packed with rigid spheres. Packing fraction is equal to one minus the porosity. A primitive cubic lattice has a packing fraction of 52\(\%\), the body-centered cubic lattice of 68\(\%\), and the face-centered cubic lattice of 74\(\%\).

Our three packing approaches are compared in Fig. 10. Packing fraction has no effect on the accuracy of uniform packed distributions. A higher packing fraction may result in a more accurate gravitational field calculation for a fixed sphere size, but the greater number of mascons negates the benefit. Tardivel found similar results in his comparison of face-centered and primitive cubic lattices (Tardivel 2016). For these distributions, more than 100,000 mascons is indeed required to achieve \(L_2<1\%\) consistent with Tardivel (2016). Additionally the error drops-off \(L_2\propto N^{-1/3}\) consistent with Werner (1997). It is also worth noting the three error norms are roughly equivalent except at low altitudes where \(L_\infty \) is significantly larger. This is caused by mascons which sit near the cutoff boundary. In any distribution of this type, several lattice points will be located just under the surface and this causes a large spike in the error locally.

4.4 Flavors of extended tetrahedral distributions

Now we focus on variations of Chanut’s extended tetrahedral approach (Chanut et al. 2015). In Fig. 11, we compare: the approach of Chanut et. al. without slicing, P1-1 (Chanut et al. 2015); the approach of Chanut et. al. in which each tetrahedra is sliced at 1/3 and 2/3 the distance between the center and the surface, P1-3; our degree-2 curvilinear variant without slicing, P2-1; lumped-core variations of P1-1 and P2-1, labeled as P1-CC and P2-CC, respectively; and the analytic polyhedral model of Werner (1994).

The extended tetrahedral approach results in faster convergence at low resolutions than the packed distributions of the previous section; however, past a certain resolution the error asymptotes and no benefit is seen with further refinement. The transition resolution is dependent upon the exact variant of the method and the geometry of the asteroid. For example, P1-3, the rectilinear version with 3 slices, converges at \(\epsilon \propto N^{-2/3}\) for \(N<3000\) when applied to asteroid Bennu. It then asymptotes at an \(L_2\) surface error under 2%. For Bennu, the lump-core approach is the most effective and only a small improvement in accuracy can be attributed to the use of curvilinear surface definitions. For Eros, the lumped-core approach is ineffective as the high aspect ratio makes the core radius small. Higher degree, P2 surface definitions likewise confers no substantial benefit. Slicing, however, effectively decreases the asymptotic error of the extended tetrahedral approach for Eros. At 17-m, P1-3 \(L_2\) error asymptotes near \(5\%\) while the other 4 asymptote at \(L_2>10\)%.

Fig. 11
figure 11

Extended tetrahedral distributions are compared. Average acceleration field error (\(\%\)) is plot as a function of number of computational elements for asteroids Eros and Bennu at altitudes equal to 1/1000 the max radius and equal to the max radius. In the legend, P1-1 and P1-3 are the methods of Chanut et al. (2015) with 1 layer (pure tetrahedra) and 3 layers, respectively. P2-1 is our curvilinear variant without slicing. P1-CC and P2-CC are our lumped-core distributions with rectilinear and degree-2 curvilinear surface meshes, respectively

Fig. 12
figure 12

Comparing different numerical integration rules for the same mesh topology—degree-2 (P2) surface meshes with internal nodes seeded according to a PC lattice. Average acceleration field error (\(\%\)) is plotted as a function of number of computational elements for asteroids Eros and Bennu at altitudes equal to 1/1000 the max radius and equal to the max radius

Fig. 13
figure 13

The effect of surface mesh representation on accuracy of mascon distributions. Average acceleration field error (\(\%\)) is plotted as a function of number of computational elements for asteroids Eros and Bennu at altitudes equal to 1/1000 the max radius and equal to the max radius

Fig. 14
figure 14

Average acceleration field error (\(\%\)) is plotted as a function of number of computational elements for asteroids Eros and Bennu at altitudes equal to 1/1000 the max radius and equal to the max radius. In all cases a vertex quadrature rule excluding surface vertices is used

4.5 Unstructured FVM distributions

Turning to our distribution based on unstructured FVMs, the effect of changing the integration rule is isolated in Fig. 12. In this plot, the different integration rules are applied to the same meshes as resolution increases. Our results show that, near the surface—h-refinement, e.g., increasing the resolution—is slightly more efficient than p-refinement—e.g., increasing the degree of the integration rule. At an altitude equal to the body’s maximum radius, there is no discernable difference in the accuracy per mascon with different integration rules. For the remainder of this paper we use the vertex integration rule excluding surface vertices.

In Fig. 13, the effect of using different surface meshes is compared in isolation. The internal vertices are seeded according to a PC lattice. In the legend: P1 corresponds to the use of a coarse rectilinear surface mesh, P2 corresponds to a coarse degree-2 curvilinear surface mesh, and piecewise the use of the finest rectilinear surface mesh. The coarse meshes (P1 and P2) are the same as those used for the analytic polyhedral model in the refinement sequence. The finest mesh has 46,906 facets for Eros and 198,691 facets for Bennu. For all three mascon distributions, we use the exclude surface vertex integration rule and so the resolution of the surface mesh does not affect the number of mascons. At an altitude of 17,620-m around Eros, more detailed surface representations—i.e., P2 and Piecewise—result in mascon distributions that provide a more accurate representation of the gravitational field. In the other three panels the accuracy does not vary. It is unclear why the same differentiation is not seen around Bennu at 280-m. It is possible the surface roughness of Bennu could be a factor.

In our next comparison plot, Fig. 14, we vary the mesh topology using our surface mesh layering approach to seed internal vertices. In the legend the first entry (P2/Fine) designates the type of surface mesh. P2 indicates a coarse P2 surface mesh and Fine, the finest surface mesh, 46,906 for Eros and 198,691 for Bennu. The second entry, after the hyphen, indicates the ratio of vertices between subsequent offset layers. The different variations perform similarly. As a group, however, they result in more efficient mascon distributions than the previously highlighted approaches. As few as 3000 mascons can achieve \(L_2\) error norms less than 1\(\%\) at the surface. This is only slightly less accurate than the analytic polyhedral model given an equal number of mascon to mesh facets. At higher altitudes the mascon model is more accurate .

4.6 Comparison across classes

To facility comparison across our groupings, we compare the accuracy on the surface for select distribution methods from each family in Figs. 15 and 16. In Fig. 15, the L2 error norm (\(\%\)) is shown as a function of the number of computational elements. Our, FVM-based approach, in cyan, uses the layered surface technique with a coarsening factor of 1/3 to initialize internal nodes and the vertex integration rule excluding surface vertices. This is the same data-set plot as yellow circles in Fig. 14. It is roughly \(5\times \) more accurate than the PC packing approach common in literature. For Bennu, the extended tetrahedral approach outperforms the PC-packing for distributions with fewer than 1000 mascons. Above this threshold the extended tetrahedral approach underperforms owing to the inconsistent asymptotic geometry.

We used a linear regression in log-log space to determine the converged rate for each method, \(\epsilon \propto N^n\), with the acceleration error, \(\epsilon \), proportional to the number of elements, N, raised to the exponent n. For Eros—Fig. 15a, the value of n is \(-0.73\) for the analytic polyhedral, \(-0.34\) for the PC packing distribution, \(-0.05\) for the extended tetrahedral distribution, and \(-0.57\) for our FVM approach. For Bennu—Fig. 15b, the value of n is \(-0.61\) for the analytic polyhedral, \(-0.28\) for the PC packing distribution, \(-0.08\) for the extended tetrahedral distribution, and \(-0.36 \) for our FVM approach. For both bodies, the convergence rate of our FVM approach lies in between the polyhedral model and the PC packing approach.

Table 2 quantifies this surface error. In Fig. 16, the acceleration error is shown on the surface of Eros. Error is calculated at each vertex of the 46,906-facet truth mesh to generate the contours. The analytic polyhedral model (a) has surface errors less than 1\(\%\) over most of the body with larger errors in high-curvature regions of craters that cannot be fully resolved with the facet count. PC packing, shown in panel (b), results in large surface errors, reaching values greater than 10\(\%\) in regions. Panels (c)–(f) illustrate the accuracy of our FVM approach with the different volume mesh topologies. The FVM approaches are more accurate than PC-packing. The FVM approach with the layered surface mesh generation technique stands out with accuracy approaching that of the polyhedral model. This grading scheme is better suited for mascon model generation than octree refinement.

Table 2 Error statistics associated with Fig. 16
Fig. 15
figure 15

Average acceleration field error (\(\%\)) is compared to the analytic polyhedral model (Werner 1997) and across distribution method families. PC packing (Geissler et al. 1996; Werner 1997), in red, represents the family of packing distributions. We select the method of Chanut et al. (2015) without slicing, in orange, to represent the extended tetrahedral FVM distribution approach. Finally, to represent our new unstructured FVM approaches we select the surface iteration mesh generation technique with a degree-2 P2 surface representation and vertex integration rule excluding surface vertices

Fig. 16
figure 16

Acceleration error (\(\%\)) on the surface of asteroid Eros for different mascon distribution techniques

5 Conclusions

In this paper, we have framed the mascon distribution problem in terms of numerical integration applied to finite volume meshes. Through this lens, the uniform packing distributions from the literature (Geissler et al. 1996; Werner 1997) are understood as the special case of degree-one integration applied to a degree-zero volume discretization—i.e., voxelization. Many of the limitations ascribed to the mascon model, Tardivel (2016), are truly limitations of this special case. We examined the effects of varying mesh topology, curvilinear degree, and integration degree on the accuracy of the resulting mascon distributions. Our results show that with a properly designed meshing technique and integration rule, significant improvements in accuracy can be achieved. For example, with our layer-based volume mesh generation technique and our vertex integration rule excluding surface vertices, the resulting mascon distributions are as accurate as the analytic polyhedral model for an equivalent number of computational elements. The mascon model is about \(15\times \) faster for an equivalent number of computational elements. Moreover, the mascon model also has a smaller memory footprint per-element. Finally, we do not claim our distribution techniques are optimal and it is possible further improvements in accuracy are achievable. In the remaining paragraphs, we discuss some more distribution-method specific takeaways.

For uniform lattice-based packing distributions, the packing fraction was found to have no effect on the accuracy of the method and this was consistent across different bodies and at different altitudes. Uniform packing distributions converge slowly, \(\epsilon \propto N^{-1/3}\), and more than 100,000 mascons are required for an \(L_2\) error norm less than \(1\%\) at the surface. Insetting the distribution slightly can improve the accuracy near the surface of the body; however, accuracy away from the surface is traded. In the anecdote we presented, an inset depth of 25\(\%\) the lattice spacing provided a nice balance.

The extended tetrahedral approach is an effective approach to generate coarse distributions \(N<5000\) for higher sphericity objects. \(L_2\) error near \(1\%\) is achievable with as few as 10, 000 mascons; however, in the limit of infinite resolution, the distribution approaches a set of layered surface sources. This geometric configuration results in a nonzero asymptotic error, making it less appropriate for high aspect ratio objects like Eros. We should note that in our study, Eros and Bennu were modeled as homogeneous objects and it is worth reiterating that the extended tetrahedral approach with slicing is most often used to model objects with layered internal structures.

For our unstructured volume mesh approach, best results are achieved with the degree-1 vertex integration rule that excludes surface vertices. By excluding surface vertices, the method produces deeper mascons reducing acceleration field error near the surface. Integration rules with a higher degree-of-exactness are more accurate; however, they also produce more mascons and the net effect is a reduction in efficiency. The best volume meshes were generated by iteratively coarsening and insetting a surface mesh to seed vertices, then constructing cells through Delaunay triangulation. This ensures a roughly uniform depth of near-surface mascons. The use of curvilinear surface elements did improves results in cases; however, it requires a sufficiently smooth surface and a high-resolution surface definition to project on to. In general, the benefit from mesh curving was not consistent and the effect was secondary to volume mesh topology.

Finally, we note the mascon distribution methods discussed here vary in complexity. Though the layered volume mesh approach we propose is performant, it is also more involved to implement from a coding standpoint than the lattice packing and the extended tetrahedral approaches.