pogona.ModulationOOK

class pogona.ModulationOOK[source]

Bases: Modulation

Attributes

attached_destructor

Component name of the attached destructor.

attached_injector

Component name of the attached injector.

attached_pump

Component name of the attached pump.

component_name

Unique name of this component, unless it is "Generic component".

injection_duration

Duration of one injection in seconds.

injection_volume

Injection volume for each bit in litres.

pause_duration

Time in seconds to wait after an injection (with injection_duration) before injecting the next pulse or, if ascii_sequence or bit_sequence is given, the time to wait before injecting the next bit.

symbol_duration

use_burst

By default, the attached injector is turned on in every time step.

__init__()[source]

Methods

__init__()

finalize(simulation_kernel)

initialize(simulation_kernel, init_stage)

Use InitStages to initialize this Component instance.

process_new_time_step(simulation_kernel, ...)

set_arguments(**kwargs)

Read arguments as key value pairs and set this component's member variables accordingly.

transmit_bitstream(bitstream, ...)

__init__()[source]
finalize(simulation_kernel: SimulationKernel)
initialize(simulation_kernel: SimulationKernel, init_stage: InitStages)[source]

Use InitStages to initialize this Component instance.

process_new_time_step(simulation_kernel: SimulationKernel, notification_stage: NotificationStages)[source]
set_arguments(**kwargs)

Read arguments as key value pairs and set this component’s member variables accordingly. Validity of the argument values will be checked in initialize().

transmit_bitstream(bitstream: str, simulation_kernel: SimulationKernel, finish_callback: Optional[Callable])
attached_destructor = ''

Component name of the attached destructor.

attached_injector = ''

Component name of the attached injector.

attached_pump = ''

Component name of the attached pump. A pump is required for coordinating the timing of an injection. Consider using an ObjectPumpTimed if you are not dealing with injection volumes or fluid vector fields in general.

component_name = 'Generic component'

Unique name of this component, unless it is “Generic component”.

id

Unique integer component ID

injection_duration = 0.0

Duration of one injection in seconds. If a bit stream is given, the injection_duration specifies the duration of the injection for each individual bit.

injection_volume = 0.0

Injection volume for each bit in litres. If this is given, injection_duration should be 0 as it will be determined by the pump model. In this case, pause_duration will be equal to the cycle duration and independent of how long an injection takes. Take care to not let injections overlap.

pause_duration = 0.0

Time in seconds to wait after an injection (with injection_duration) before injecting the next pulse or, if ascii_sequence or bit_sequence is given, the time to wait before injecting the next bit.

property symbol_duration
use_burst = False

By default, the attached injector is turned on in every time step. If use_burst is True, however, it will only be turned on at the beginning of an injection.