dedalus.core.basis ================== .. py:module:: dedalus.core.basis .. autoapi-nested-parse:: Abstract and built-in classes for spectral bases. Module Contents --------------- .. py: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. .. py:method:: backward_transform_radius(field, axis, cdata, gdata) .. py:method:: constant_mode_value() .. py:method:: conversion_matrix(m, spintotal, dk) .. py:method:: forward_transform_radius(field, axis, gdata, cdata) .. py:method:: global_grid_radius(dist, scale) .. py:method:: global_radius_weights(dist, scale=None) .. py:method:: interpolation(m, spintotal, position) .. py:method:: jacobi_conversion(m, dk, size=None) .. py:method:: local_grid_radius(dist, scale) .. py:method:: local_radius_weights(dist, scale=None) .. py:method:: operator_matrix(op, m, spintotal, size=None) .. py:method:: radial_basis() .. py:method:: radial_transform_factor(scale, data_axis, dk) .. py:method:: transform_plan(dist, grid_size, k) Build transform plan. .. py:attribute:: alpha .. py:attribute:: azimuth_library :value: None .. py:attribute:: coordsys .. py:attribute:: dR :value: 1 .. py:attribute:: dealias :value: (1, 1) .. py:attribute:: dtype .. py:attribute:: grid_params .. py:attribute:: inner_edge .. py:attribute:: k :value: 0 .. py:attribute:: outer_edge .. py:attribute:: radii :value: (1, 2) .. py:attribute:: radius_library :value: None .. py:attribute:: rho :value: 3.0 .. py:attribute:: shape .. py:attribute:: subaxis_dependence :value: (False, True) .. py:attribute:: transforms .. py:attribute:: volume .. py: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. .. py:method:: backward_transform_radius(field, axis, cdata, gdata) .. py:method:: forward_transform_radius(field, axis, gdata, cdata) .. py:method:: transform_plan(dist, grid_shape, regindex, axis, regtotal, k, alpha) Build transform plan. .. py:attribute:: alpha :value: 0 .. py:attribute:: azimuth_library :value: None .. py:attribute:: backward_transforms .. py:attribute:: colatitude_library :value: None .. py:attribute:: coordsys .. py:attribute:: dealias :value: (1, 1, 1) .. py:attribute:: default_library :value: 'matrix' .. py:attribute:: dtype .. py:attribute:: forward_transforms .. py:attribute:: grid_params .. py:attribute:: k :value: 0 .. py:attribute:: radial_basis .. py:attribute:: radius :value: 1 .. py:attribute:: radius_library :value: None .. py:attribute:: shape .. py:attribute:: surface .. py:attribute:: transforms .. py:attribute:: volume .. py:class:: CardinalBasis(coord, size) Cardinal basis. .. py:method:: backward_transform(field, axis, cdata, gdata) Backward transform field data. .. py:method:: chunk_shape(grid_space) .. py:method:: elements_to_groups(grid_space, elements) .. py:method:: forward_transform(field, axis, gdata, cdata) Forward transform field data. .. py:method:: global_grid(dist, scale) Global grid. .. py:method:: global_grids(dist, scales) Global grids. .. py:method:: global_shape(grid_space, scales) .. py:method:: local_grid(dist, scale) Local grid. .. py:method:: local_grids(dist, scales) Local grids. .. py:method:: local_modes(dist) Local grid. .. py:method:: matrix_dependence(matrix_coupling) .. py:method:: valid_elements(tensorsig, grid_space, elements) .. py:attribute:: coord .. py:attribute:: coordsys .. py:attribute:: dealias :value: (1,) .. py:attribute:: dim :value: 1 .. py:attribute:: group_shape :value: (1,) .. py:attribute:: shape .. py:attribute:: size .. py:attribute:: subaxis_dependence :value: [False] .. py:class:: ComplexFourier(coord, size, bounds, dealias=(1, ), library=None) Fourier complex exponential basis. Modes: [exp(0j*x), exp(1j*x), exp(2j*x), ...] .. py:method:: product_matrix(arg_basis, out_basis, i) .. py:method:: valid_elements(tensorsig, grid_space, elements) .. py:attribute:: group_shape :value: (1,) .. py:attribute:: transforms .. py: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. .. py:method:: backward_transform_radius(field, axis, cdata, gdata) .. py:method:: backward_transform_radius_Nmax0(field, axis, cdata, gdata) :abstractmethod: .. py:method:: constant_mode_value() .. py:method:: conversion_matrix(m, spintotal, dk) .. py:method:: forward_transform_radius(field, axis, gdata, cdata) .. py:method:: forward_transform_radius_Nmax0(field, axis, gdata, cdata) :abstractmethod: .. py:method:: global_grid_radius(dist, scale) .. py:method:: global_radius_weights(dist, scale=None) .. py:method:: interpolation(m, spintotal, position) .. py:method:: local_grid_radius(dist, scale) .. py:method:: local_radius_weights(dist, scale=None) .. py:method:: operator_matrix(op, m, spin, size=None) .. py:method:: radial_basis() .. py:method:: radius_multiplication_matrix(m, spintotal, order, d) .. py:method:: transform_plan(dist, grid_shape, axis, s) Build transform plan. .. py:attribute:: alpha :value: 0 .. py:attribute:: azimuth_library :value: None .. py:attribute:: coordsys .. py:attribute:: dealias :value: (1, 1) .. py:attribute:: default_library :value: 'matrix' .. py:attribute:: dtype .. py:attribute:: edge .. py:attribute:: grid_params .. py:attribute:: k :value: 0 .. py:attribute:: radial_COV .. py:attribute:: radius :value: 1 .. py:attribute:: radius_library :value: None .. py:attribute:: shape .. py:attribute:: subaxis_dependence :value: (True, True) .. py:attribute:: transforms .. py:attribute:: volume .. py:class:: Jacobi(coord, size, bounds, a, b, a0=None, b0=None, dealias=(1, ), library=None) Jacobi polynomial basis. .. py:method:: Jacobi_matrix(size) .. py:method:: derivative_basis(order=1) .. py:method:: elements_to_groups(grid_space, elements) .. py:method:: product_matrix(arg_basis, out_basis, i) .. py:method:: transform_plan(dist, grid_size) Build transform plan. .. py:method:: valid_elements(tensorsig, grid_space, elements) .. py:attribute:: a .. py:attribute:: a0 :value: None .. py:attribute:: b .. py:attribute:: b0 :value: None .. py:attribute:: bounds .. py:attribute:: constant_mode_value .. py:attribute:: coord .. py:attribute:: dealias :value: (1,) .. py:attribute:: default_dct :value: 'fftw_dct' .. py:attribute:: default_library :value: 'matrix' .. py:attribute:: grid_params .. py:attribute:: group_shape :value: (1,) .. py:attribute:: library :value: None .. py:attribute:: native_bounds .. py:attribute:: size .. py:attribute:: transforms .. py: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), ...] .. py:method:: product_matrix(arg_basis, out_basis, i) .. py:method:: valid_elements(tensorsig, grid_space, elements) .. py:attribute:: group_shape :value: (2,) .. py:attribute:: transforms .. py: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. .. py:method:: backward_transform_radius(field, axis, cdata, gdata) .. py:method:: build_meridional_ncc_matrix(product, subproblem, ncc_cutoff, max_ncc_terms) .. py:method:: build_ncc_matrix(product, subproblem, ncc_cutoff, max_ncc_terms) .. py:method:: forward_transform_radius(field, axis, gdata, cdata) .. py:attribute:: alpha .. py:attribute:: azimuth_library :value: None .. py:attribute:: backward_transforms .. py:attribute:: colatitude_library :value: None .. py:attribute:: coordsys .. py:attribute:: dealias :value: (1, 1, 1) .. py:attribute:: dtype .. py:attribute:: forward_transforms .. py:attribute:: grid_params .. py:attribute:: inner_surface .. py:attribute:: k :value: 0 .. py:property:: meridional_basis .. py:attribute:: outer_surface .. py:attribute:: radial_basis .. py:attribute:: radii :value: (1, 2) .. py:attribute:: radius_library :value: None .. py:attribute:: shape .. py:attribute:: volume .. py:class:: SphereBasis(coordsys, shape, dtype, radius=1, dealias=(1, 1), azimuth_library=None, colatitude_library=None) Abstract base class for spectral bases. .. py:method:: backward_transform_azimuth(field, axis, cdata, gdata) .. py:method:: backward_transform_azimuth_Mmax0(field, axis, cdata, gdata) .. py:method:: backward_transform_colatitude(field, axis, cdata, gdata) .. py:method:: backward_transform_colatitude_Lmax0(field, axis, cdata, gdata) .. py:method:: backward_transform_radius(field, axis, cdata, gdata) .. py:method:: chunk_shape(grid_space) .. py:method:: elements_to_groups(grid_space, elements) .. py:method:: 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] .. py:method:: ell_reversed(dist) .. py:method:: ell_size(m) .. py:method:: forward_transform_azimuth(field, axis, gdata, cdata) .. py:method:: forward_transform_azimuth_Mmax0(field, axis, gdata, cdata) .. py:method:: forward_transform_colatitude(field, axis, gdata, cdata) .. py:method:: forward_transform_colatitude_Lmax0(field, axis, gdata, cdata) .. py:method:: forward_transform_radius(field, axis, gdata, cdata) .. py:method:: global_colatitude_weights(dist, scale=None) .. py:method:: global_grid_colatitude(dist, scale) .. py:method:: global_grid_spacing(dist, subaxis, scales) Global grids spacings. .. py:method:: global_grids(dist, scales) Global grids. .. py:method:: global_shape(grid_space, scales) .. py:method:: k(l, s, mu) :staticmethod: .. py:method:: k_vector(mu, m, s, local_l) .. py:method:: latitude_basis() .. py:method:: local_colatitude_weights(dist, scale=None) .. py:method:: local_grid_colatitude(dist, scale) .. py:method:: local_grid_spacing(dist, subaxis, scales) Local grids spacings. .. py:method:: local_grids(dist, scales) Local grids. .. py:method:: m_maps(dist) Tuple of (m, mg_slice, mc_slice, ell_slice) for all local m's when the colatitude axis is local. .. py:method:: matrix_dependence(matrix_coupling) .. py:method:: operator_matrix(op, m, spintotal, size=None) .. py:method:: sine_multiplication_matrix(m, spintotal, order, size=None) .. py:method:: transform_plan(dist, Ntheta, s) Build transform plan. .. py:method:: valid_elements(tensorsig, grid_space, elements) .. py:attribute:: azimuth_library :value: None .. py:attribute:: backward_transforms .. py:attribute:: colatitude_library :value: None .. py:attribute:: constant_mode_value .. py:attribute:: coordsys .. py:attribute:: dealias :value: (1, 1) .. py:attribute:: default_library :value: 'matrix' .. py:attribute:: dim :value: 2 .. py:attribute:: dims :value: ['azimuth', 'colatitude'] .. py:attribute:: dtype .. py:attribute:: forward_transforms .. py:attribute:: grid_params .. py:attribute:: radius :value: 1 .. py:attribute:: shape .. py:attribute:: subaxis_dependence :value: [True, True] .. py:attribute:: transforms .. py:attribute:: volume .. py:function:: ChebyshevT(*args, **kw) .. py:function:: ChebyshevU(*args, **kw) .. py:function:: ChebyshevV(*args, **kw) .. py:function:: Fourier(*args, dtype=None, **kw) Factory function dispatching to RealFourier and ComplexFourier based on provided dtype. .. py:function:: Legendre(*args, **kw) .. py:function:: Ultraspherical(*args, alpha, alpha0=None, **kw) .. py:data:: Chebyshev