ModePropagationConstantReceiver Class

class plask.flow.ModePropagationConstantReceiver

Receiver of the propagation constant (1/µm).

You may connect a provider to this receiver using either the connect method or an assignment operator. Then, you can read the provided value by calling this receiver with arguments identical as the ones of the corresponding provider ModePropagationConstantProvider.

Example

Connect the receiver to a provider from some other solver:

>>> solver.inModePropagationConstant = other_solver.outModePropagationConstant

See also

Provider of propagation constant: plask.flow.ModePropagationConstantProvider

Data filter for propagation constant: plask.flow.ModePropagationConstantFilter

Methods

__call__(...)

Get value from the connected provider

add_watch(callable)

Connect callable to watch receiver changes.

attach(source)

Attach some provider or constant value to the receiver.

reset()

Disconnect any provider of value from the receiver.

Descriptions

Method Details

ModePropagationConstantReceiver.__call__()
ModePropagationConstantReceiver.__call__(n)

Get value from the connected provider

Get value from the connected provider

ModePropagationConstantReceiver.add_watch(callable)

Connect callable to watch receiver changes.

The callable will be called each time the value received by this receiver changes.

The callable should accept two arguments: the first one will be the receiver and the second one gives information what is changed.

ModePropagationConstantReceiver.attach(source)

Attach some provider or constant value to the receiver.

Parameters:

source – source provider or value.

Example

>>> solver.inModePropagationConstant.attach(300.)
>>> solver.inModePropagationConstant(any_mesh)[0]
300.
>>> solver.inModePropagationConstant(any_mesh)[-1]
300.
>>> solver.inModePropagationConstant.attach(other_solver.outModePropagationConstant)

Note

You may achieve the same effect by using the asignmnent operator if you put an existing provider at the right side of this operator:

>>> solver.inModePropagationConstant = other_solver.outModePropagationConstant
ModePropagationConstantReceiver.reset()

Disconnect any provider of value from the receiver.