Solid Ball Geometry

The GeoDynamoBall module provides ball-specific domain setup.

Overview

              ╱‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾╲
             ╱                      ╲
            │     Full Sphere        │
            │                        │
            │    (No inner core)     │
            │                        │
             ╲                      ╱
              ╲____________________╱

Ball geometry is for full-sphere simulations without an inner boundary—like stellar cores or early planetary interiors.

Ball Geometry API

GeoDynamo.GeoDynamoBall.BallConfigType
BallConfig

Alias for SHTnsKitConfig, re-exported under a ball-specific name for clarity when working in full-sphere geometry (no inner boundary; off-center radial grid). It carries the spherical-harmonic transform plans, parallel layout, and buffers.

source
GeoDynamo.GeoDynamoBall.create_ball_radial_domainFunction
create_ball_radial_domain(nr) -> RadialDomain

Create a radial domain for a solid sphere using an off-center cosine grid:

r_n = (1 − cos(πn/N)) / 2,  n = 1, …, N

The outermost node rN = 1 exactly (cos(π) = −1). The innermost node r1 = (1 − cos(π/N))/2 > 0 — there is no node at the centre r = 0. All negative-power columns (1/r, 1/r²) are therefore finite and honest; no regularisation guard is needed. Regularity at r = 0 is imposed separately through l-dependent Robin boundary rows in the implicit matrices.

source