PLaSK User Manual

LightMagnitudeProvider3D Class

class plask.flow.LightMagnitudeProvider3D(data)

Provider of the optical field magnitude in Cartesian3D geometry [W/m²].

This class is used for optical field magnitude provider in binary solvers. You can also create a custom provider for your Python solver.

Parameters:dataData object to interpolate or callable returning it for given mesh. The callable must accept the same arguments as the provider __call__ method (see below).

To obtain the value from the provider simply call it. The call signature is as follows:

solver.outLightMagnitude(mesh, interpolation='default')
Parameters:
  • mesh (mesh) – Target mesh to get the field at.
  • interpolation (str) – Requested interpolation method.
Returns:

Data with the optical field magnitude on the specified mesh [W/m²].

Example

Connect the provider to a receiver in some other solver:

>>> other_solver.inLightMagnitude = solver.outLightMagnitude

Obtain the provided field:

>>> solver.outLightMagnitude(mesh)
<plask.Data at 0x1234567>

See also

Receiver of optical field magnitude: plask.flow.LightMagnitudeReceiver3D Data filter for optical field magnitude: plask.flow.LightMagnitudeFilter3D

Methods

__call__(mesh[, interpolation]) Get value from the provider.
set_changed() Inform all connected receivers that the provided value has changed.

Descriptions

Method Details

LightMagnitudeProvider3D.__call__(mesh, interpolation='DEFAULT')

Get value from the provider.

Parameters:
  • mesh (mesh) – Target mesh to get the field at.
  • interpolation (str) – Requested interpolation method.
LightMagnitudeProvider3D.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.