dedalus.core.pencil

Classes for manipulating pencils.

Module Contents

logger
build_pencils(domain)

Create the set of pencils over a domain.

Parameters

domain (domain object) – Problem domain

Returns

pencils – Pencil objects

Return type

list

build_matrices(pencils, problem, matrices)

Build pencil matrices.

class Pencil(domain, local_index, global_index)

Object holding problem matrices for a given transverse wavevector.

Parameters

index (tuple of ints) – Transverse indeces for retrieving pencil from system data

fast_bmat(blocks)

Build sparse matrix from sparse COO blocks.

sparse_perm(perm, M)

Build sparse permutation matrix from permutation vector.

simple_reorder(N0, N1)
left_permutation(zbasis, n_vars, eqs, bc_top, interleave_subbases)

Left permutation acting on equations. bc_top determines if constant equations are placed at the top or bottom of the matrix.

Input ordering:

Equations > Subbases > Modes

Output ordering with interleave_subbases=True:

Modes > Subbases > Equations

Output ordering with interleave_subbases=False:

Subbases > Modes > Equations

right_permutation(zbasis, problem, interleave_subbases)

Right permutation acting on variables.

Input ordering:

Variables > Subbases > Modes

Output ordering with interleave_subbases=True:

Modes > Subbases > Variables

Output ordering with interleave_subbases=False:

Subbases > Modes > Variables