ModePropagationConstantProvider Class¶
- class plask.flow.ModePropagationConstantProvider(data)¶
- Provider of the propagation constant (1/µm). - This class is used for propagation constant provider in binary solvers. You can also create a custom provider for your Python solver. - Parameters:
- data – provided value or callable returning it on request. The callable must accept the same arguments as the provider - __call__method (see below). It must also be able to give its length (i.e. have the- __len__method defined) that gives the number of different provided values.
 - To obtain the value from the provider simply call it. The call signature is as follows: - solver.outModePropagationConstant(n=0)¶
- Parameters:
- n (int) – Value number. 
- Returns:
- Value of the propagation constant (1/µm). 
 
 - You may obtain the number of different values this provider can return by testing its length. - Example - Connect the provider to a receiver in some other solver: - >>> other_solver.inModePropagationConstant = solver.outModePropagationConstant - Obtain the provided value: - >>> solver.outModePropagationConstant(0) 1000 - Test the number of provided values: - >>> len(solver.outModePropagationConstant) 3 - See also - Receiver of propagation constant: - plask.flow.ModePropagationConstantReceiver
Methods¶
| 
 | Get value from the provider. | 
| Inform all connected receivers that the provided value has changed. | 
Descriptions¶
Method Details¶
- ModePropagationConstantProvider.__call__()¶
- ModePropagationConstantProvider.__call__(n)
- Get value from the provider. - Parameters:
- n (int) – Value number. 
 
- ModePropagationConstantProvider.set_changed()¶
- Inform all connected receivers that the provided value has changed. - The receivers will have its changed attribute set to True and solvers will call the provider again if they need its value (otherwise they might take it from the cache.