dedalus.core.basis

Abstract and built-in classes for spectral bases.

Module Contents

class AnnulusBasis(coordsys, shape, dtype, radii=(1, 2), k=0, alpha=(-0.5, -0.5), dealias=(1, 1), azimuth_library=None, radius_library=None)

Abstract base class for spectral bases.

backward_transform_radius(field, axis, cdata, gdata)
constant_mode_value()
conversion_matrix(m, spintotal, dk)
forward_transform_radius(field, axis, gdata, cdata)
global_grid_radius(dist, scale)
global_radius_weights(dist, scale=None)
interpolation(m, spintotal, position)
jacobi_conversion(m, dk, size=None)
local_grid_radius(dist, scale)
local_radius_weights(dist, scale=None)
operator_matrix(op, m, spintotal, size=None)
radial_basis()
radial_transform_factor(scale, data_axis, dk)
transform_plan(dist, grid_size, k)

Build transform plan.

alpha
azimuth_library = None
coordsys
dR = 1
dealias = (1, 1)
dtype
grid_params
inner_edge
k = 0
outer_edge
radii = (1, 2)
radius_library = None
rho = 3.0
shape
subaxis_dependence = (False, True)
transforms
volume
class BallBasis(coordsys, shape, dtype, radius=1, k=0, alpha=0, dealias=(1, 1, 1), azimuth_library=None, colatitude_library=None, radius_library=None)

Abstract base class for spectral bases.

backward_transform_radius(field, axis, cdata, gdata)
forward_transform_radius(field, axis, gdata, cdata)
transform_plan(dist, grid_shape, regindex, axis, regtotal, k, alpha)

Build transform plan.

alpha = 0
azimuth_library = None
backward_transforms
colatitude_library = None
coordsys
dealias = (1, 1, 1)
default_library = 'matrix'
dtype
forward_transforms
grid_params
k = 0
radial_basis
radius = 1
radius_library = None
shape
surface
transforms
volume
class CardinalBasis(coord, size)

Cardinal basis.

backward_transform(field, axis, cdata, gdata)

Backward transform field data.

chunk_shape(grid_space)
elements_to_groups(grid_space, elements)
forward_transform(field, axis, gdata, cdata)

Forward transform field data.

global_grid(dist, scale)

Global grid.

global_grids(dist, scales)

Global grids.

global_shape(grid_space, scales)
local_grid(dist, scale)

Local grid.

local_grids(dist, scales)

Local grids.

local_modes(dist)

Local grid.

matrix_dependence(matrix_coupling)
valid_elements(tensorsig, grid_space, elements)
coord
coordsys
dealias = (1,)
dim = 1
group_shape = (1,)
shape
size
subaxis_dependence = [False]
class ComplexFourier(coord, size, bounds, dealias=(1,), library=None)

Fourier complex exponential basis. Modes: [exp(0j*x), exp(1j*x), exp(2j*x), …]

product_matrix(arg_basis, out_basis, i)
valid_elements(tensorsig, grid_space, elements)
group_shape = (1,)
transforms
class DiskBasis(coordsys, shape, dtype, radius=1, k=0, alpha=0, dealias=(1, 1), azimuth_library=None, radius_library=None)

Abstract base class for spectral bases.

backward_transform_radius(field, axis, cdata, gdata)
abstractmethod backward_transform_radius_Nmax0(field, axis, cdata, gdata)
constant_mode_value()
conversion_matrix(m, spintotal, dk)
forward_transform_radius(field, axis, gdata, cdata)
abstractmethod forward_transform_radius_Nmax0(field, axis, gdata, cdata)
global_grid_radius(dist, scale)
global_radius_weights(dist, scale=None)
interpolation(m, spintotal, position)
local_grid_radius(dist, scale)
local_radius_weights(dist, scale=None)
operator_matrix(op, m, spin, size=None)
radial_basis()
radius_multiplication_matrix(m, spintotal, order, d)
transform_plan(dist, grid_shape, axis, s)

Build transform plan.

alpha = 0
azimuth_library = None
coordsys
dealias = (1, 1)
default_library = 'matrix'
dtype
edge
grid_params
k = 0
radial_COV
radius = 1
radius_library = None
shape
subaxis_dependence = (True, True)
transforms
volume
class Jacobi(coord, size, bounds, a, b, a0=None, b0=None, dealias=(1,), library=None)

Jacobi polynomial basis.

Jacobi_matrix(size)
derivative_basis(order=1)
elements_to_groups(grid_space, elements)
product_matrix(arg_basis, out_basis, i)
transform_plan(dist, grid_size)

Build transform plan.

valid_elements(tensorsig, grid_space, elements)
a
a0 = None
b
b0 = None
bounds
constant_mode_value
coord
dealias = (1,)
default_dct = 'fftw_dct'
default_library = 'matrix'
grid_params
group_shape = (1,)
library = None
native_bounds
size
transforms
class RealFourier(coord, size, bounds, dealias=(1,), library=None)

Fourier real sine/cosine basis. Modes: [cos(0*x), -sin(0*x), cos(1*x), -sin(1*x), …]

product_matrix(arg_basis, out_basis, i)
valid_elements(tensorsig, grid_space, elements)
group_shape = (2,)
transforms
class ShellBasis(coordsys, shape, dtype, radii=(1, 2), k=0, alpha=(-0.5, -0.5), dealias=(1, 1, 1), azimuth_library=None, colatitude_library=None, radius_library=None)

Abstract base class for spectral bases.

backward_transform_radius(field, axis, cdata, gdata)
build_meridional_ncc_matrix(product, subproblem, ncc_cutoff, max_ncc_terms)
build_ncc_matrix(product, subproblem, ncc_cutoff, max_ncc_terms)
forward_transform_radius(field, axis, gdata, cdata)
alpha
azimuth_library = None
backward_transforms
colatitude_library = None
coordsys
dealias = (1, 1, 1)
dtype
forward_transforms
grid_params
inner_surface
k = 0
property meridional_basis
outer_surface
radial_basis
radii = (1, 2)
radius_library = None
shape
volume
class SphereBasis(coordsys, shape, dtype, radius=1, dealias=(1, 1), azimuth_library=None, colatitude_library=None)

Abstract base class for spectral bases.

backward_transform_azimuth(field, axis, cdata, gdata)
backward_transform_azimuth_Mmax0(field, axis, cdata, gdata)
backward_transform_colatitude(field, axis, cdata, gdata)
backward_transform_colatitude_Lmax0(field, axis, cdata, gdata)
backward_transform_radius(field, axis, cdata, gdata)
chunk_shape(grid_space)
elements_to_groups(grid_space, elements)
ell_maps(dist)

Tuple of (ell, m_slice, ell_slice) for all local ells in coeff space. m_slice and ell_slice are local slices along the phi and theta axes.

Data for each ell should be sliced as:

for ell, m_slice, ell_slice in ell_maps:

ell_data = data[m_slice, ell_slice]

ell_reversed(dist)
ell_size(m)
forward_transform_azimuth(field, axis, gdata, cdata)
forward_transform_azimuth_Mmax0(field, axis, gdata, cdata)
forward_transform_colatitude(field, axis, gdata, cdata)
forward_transform_colatitude_Lmax0(field, axis, gdata, cdata)
forward_transform_radius(field, axis, gdata, cdata)
global_colatitude_weights(dist, scale=None)
global_grid_colatitude(dist, scale)
global_grid_spacing(dist, subaxis, scales)

Global grids spacings.

global_grids(dist, scales)

Global grids.

global_shape(grid_space, scales)
static k(l, s, mu)
k_vector(mu, m, s, local_l)
latitude_basis()
local_colatitude_weights(dist, scale=None)
local_grid_colatitude(dist, scale)
local_grid_spacing(dist, subaxis, scales)

Local grids spacings.

local_grids(dist, scales)

Local grids.

m_maps(dist)

Tuple of (m, mg_slice, mc_slice, ell_slice) for all local m’s when the colatitude axis is local.

matrix_dependence(matrix_coupling)
operator_matrix(op, m, spintotal, size=None)
sine_multiplication_matrix(m, spintotal, order, size=None)
transform_plan(dist, Ntheta, s)

Build transform plan.

valid_elements(tensorsig, grid_space, elements)
azimuth_library = None
backward_transforms
colatitude_library = None
constant_mode_value
coordsys
dealias = (1, 1)
default_library = 'matrix'
dim = 2
dims = ['azimuth', 'colatitude']
dtype
forward_transforms
grid_params
radius = 1
shape
subaxis_dependence = [True, True]
transforms
volume
ChebyshevT(*args, **kw)
ChebyshevU(*args, **kw)
ChebyshevV(*args, **kw)
Fourier(*args, dtype=None, **kw)

Factory function dispatching to RealFourier and ComplexFourier based on provided dtype.

Legendre(*args, **kw)
Ultraspherical(*args, alpha, alpha0=None, **kw)
Chebyshev