# PLaSK User Manual

#### Page Contents

- HeatFluxReceiver3D Class
  - `HeatFluxReceiver3D`
  - Methods
  - Descriptions
    - Method Details
      - `HeatFluxReceiver3D.__call__()`
      - `HeatFluxReceiver3D.add_watch()`
      - `HeatFluxReceiver3D.attach()`
      - `HeatFluxReceiver3D.reset()`

# HeatFluxReceiver3D Class

class plask.flow.HeatFluxReceiver3D

  Receiver of the heat flux in Cartesian3D geometry (W/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 `HeatFluxProvider3D`.

  Example

  Connect the receiver to a provider from some other solver:

      >>> solver.inHeatFlux = other_solver.outHeatFlux

  See also

  Provider of heat flux: `plask.flow.HeatFluxProvider3D`

  Data filter for heat flux: `plask.flow.HeatFluxFilter3D`

## Methods

`__call__`(mesh[, interpolation]) | 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

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

  Get value from the connected provider

HeatFluxReceiver3D.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.

HeatFluxReceiver3D.attach(source)

  Attach some provider or constant value to the receiver.

  Parameters:

    source – source provider or value.

  Example

      >>> solver.inHeatFlux.attach(300.)
      >>> solver.inHeatFlux(any_mesh)[0]
      300.
      >>> solver.inHeatFlux(any_mesh)[-1]
      300.

      >>> solver.inHeatFlux.attach(other_solver.outHeatFlux)

  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.inHeatFlux = other_solver.outHeatFlux

HeatFluxReceiver3D.reset()

  Disconnect any provider of value from the receiver.