dedalus.core.operators

Abstract and built-in classes defining deferred operations on fields.

Module Contents

parseables
parseable(op)
addname(name)
is_integer(x)
class Operator

Bases:dedalus.core.future.Future

base
order(self, *ops)
class FieldCopy(arg, **kw)

Bases:dedalus.core.operators.Operator, dedalus.core.future.FutureField

Operator making a new field copy of data.

name = FieldCopy
base
check_conditions(self)
meta_constant(self, axis)
meta_parity(self, axis)
sym_diff(self, var)

Symbolically differentiate with respect to var.

split(self, *vars)
class FieldCopyScalar

Bases:dedalus.core.operators.FieldCopy

argtypes
operate(self, out)
class FieldCopyArray

Bases:dedalus.core.operators.FieldCopy

argtypes
operate(self, out)
class FieldCopyField

Bases:dedalus.core.operators.FieldCopy

argtypes
operate(self, out)
class NonlinearOperator

Bases:dedalus.core.operators.Operator

expand(self, *vars)

Return self.

canonical_linear_form(self, *vars)

Raise if arguments contain specified variables (default: None)

split(self, *vars)
class GeneralFunction(domain, layout, func, args=[], kw={}, out=None)

Bases:dedalus.core.operators.NonlinearOperator, dedalus.core.future.FutureField

Operator wrapping a general python function.

Parameters:
  • domain (domain object) – Domain
  • layout (layout object or identifier) – Layout of function output
  • func (function) – Function producing field data
  • args (list) – Arguments to pass to func
  • kw (dict) – Keywords to pass to func
  • out (field, optional) – Output field (default: new field)

Notes

On evaluation, this wrapper evaluates the provided function with the given arguments and keywords, and takes the output to be data in the specified layout, i.e.

out[layout] = func(*args, **kw)
meta_constant(self, axis)
check_conditions(self)
operate(self, out)
class UnaryGridFunction(func, arg, **kw)

Bases:dedalus.core.operators.NonlinearOperator, dedalus.core.future.Future

arity = 1
supported
aliased
base
meta_constant(self, axis)
meta_parity(self, axis)
sym_diff(self, var)

Symbolically differentiate with respect to var.

class UnaryGridFunctionScalar

Bases:dedalus.core.operators.UnaryGridFunction, dedalus.core.future.FutureScalar

argtypes
check_conditions(self)
operate(self, out)
class UnaryGridFunctionArray

Bases:dedalus.core.operators.UnaryGridFunction, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class UnaryGridFunctionField

Bases:dedalus.core.operators.UnaryGridFunction, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class Arithmetic

Bases:dedalus.core.future.Future

arity = 2
order(self, *ops)
class Add

Bases:dedalus.core.operators.Arithmetic

name = Add
str_op = +
base
meta_constant(self, axis)
meta_parity(self, axis)
expand(self, *vars)

Expand arguments containing specified variables (default: all).

canonical_linear_form(self, *vars)

Ensure arguments have same dependency on specified variables.

split(self, *vars)
operator_dict(self, index, vars, **kw)

Produce matrix-operator dictionary over specified variables.

sym_diff(self, var)

Symbolically differentiate with respect to var.

class AddScalarScalar

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureScalar

argtypes
check_conditions(self)
operate(self, out)
class AddArrayArray

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class AddFieldField

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class AddScalarArray

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class AddArrayScalar

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class AddScalarField

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class AddFieldScalar

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class AddArrayField

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class AddFieldArray

Bases:dedalus.core.operators.Add, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class Multiply

Bases:dedalus.core.operators.Arithmetic

name = Mul
str_op = *
base
meta_constant(self, axis)
meta_parity(self, axis)
expand(self, *vars)

Distribute over sums containing specified variables (default: all).

canonical_linear_form(self, *vars)

Eliminate nonlinear multiplications and float specified variables right.

split(self, *vars)
operator_dict(self, index, vars, **kw)

Produce matrix-operator dictionary over specified variables.

sym_diff(self, var)

Symbolically differentiate with respect to var.

class MultiplyScalarScalar

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureScalar

argtypes
check_conditions(self)
operate(self, out)
class MultiplyArrayArray

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class MultiplyFieldField

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class MultiplyScalarArray

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class MultiplyArrayScalar

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class MultiplyScalarField

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class MultiplyFieldScalar

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class MultiplyArrayField

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class MultiplyFieldArray

Bases:dedalus.core.operators.Multiply, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class Power

Bases:dedalus.core.operators.NonlinearOperator, dedalus.core.operators.Arithmetic

name = Pow
str_op = **
base
class PowerDataScalar

Bases:dedalus.core.operators.Power

argtypes
meta_constant(self, axis)
meta_parity(self, axis)
sym_diff(self, var)

Symbolically differentiate with respect to var.

class PowerScalarScalar

Bases:dedalus.core.operators.PowerDataScalar, dedalus.core.future.FutureScalar

argtypes
check_conditions(self)
operate(self, out)
class PowerArrayScalar

Bases:dedalus.core.operators.PowerDataScalar, dedalus.core.future.FutureArray

argtypes
check_conditions(self)
operate(self, out)
class PowerFieldScalar

Bases:dedalus.core.operators.PowerDataScalar, dedalus.core.future.FutureField

argtypes
check_conditions(self)
operate(self, out)
class LinearOperator

Bases:dedalus.core.operators.Operator

kw
expand(self, *vars)

Distribute over sums containing specified variables (default: all).

canonical_linear_form(self, *vars)

Change argument to canonical linear form.

split(self, *vars)
operator_dict(self, index, vars, **kw)

Produce matrix-operator dictionary over specified variables.

operator_form(self, index)
sym_diff(self, var)

Symbolically differentiate with respect to var.

class TimeDerivative

Bases:dedalus.core.operators.LinearOperator, dedalus.core.future.FutureField

name = dt
base
meta_constant(self, axis)
meta_parity(self, axis)
operator_form(self, index)
operate(self, out)
class Separable

Bases:dedalus.core.operators.LinearOperator, dedalus.core.future.FutureField

operator_form(self, index)
check_conditions(self)
operate(self, out)
apply_vector_form(self, out)
explicit_form(self, input, output, axis)
vector_form(self)
class Coupled

Bases:dedalus.core.operators.LinearOperator, dedalus.core.future.FutureField

operator_form(self, index)
check_conditions(self)
operate(self, out)
apply_matrix_form(self, out)
explicit_form(self, input, output, axis)
matrix_form(self)
operator_dict(self, index, vars, **kw)

Produce matrix-operator dictionary over specified variables.

class Integrate(arg0, **kw)

Bases:dedalus.core.operators.LinearOperator

name = integ
meta_constant(self, axis)
meta_parity(self, axis)
integrate(arg0, *bases, out=None)
class Interpolate(arg0, position, out=None)

Bases:dedalus.core.operators.LinearOperator

name = interp
distribute(self)
meta_constant(self, axis)
meta_parity(self, axis)
interpolate(arg0, out=None, **basis_kw)
left(arg0, out=None)

Shortcut for left interpolation along last axis.

right(arg0, out=None)

Shortcut for right interpolation along last axis.

class Differentiate(arg0, **kw)

Bases:dedalus.core.operators.LinearOperator

name = d
meta_constant(self, axis)
meta_parity(self, axis)
expand(self, *vars)

Distribute over sums and apply the product rule to arguments containing specified variables (default: all).

differentiate(arg0, *bases, out=None, **basis_kw)
class HilbertTransform(arg0, **kw)

Bases:dedalus.core.operators.LinearOperator

name = Hilbert
meta_constant(self, axis)
meta_parity(self, axis)
hilberttransform(arg0, *bases, out=None, **basis_kw)