aquakin.UVUnit#

class aquakin.UVUnit(name, model, volume, intensity, d10, uvt=None, uvt_ref=None, max_log=None, baffling_factor=1.0, inlet_density=0.0, input_port='in', output_port='out')[source]#

Bases: object

A UV disinfection reactor (stateless): dose-driven log-inactivation.

Passes the process stream through unchanged and reduces the indicator-organism density (Stream.org, else inlet_density) by the dose-response log-inactivation. The dose is intensity · exposure · UVT-factor with the exposure time the (baffling-scaled) residence time V/Q converted to seconds.

Parameters:
  • name (str)

  • model (CompiledModel)

  • volume (float) – Reactor volume (m³); the exposure time is baffling_factor·V/Q.

  • intensity (float) – Average UV fluence rate (mW/cm²) at the reference UVT.

  • d10 (float) – Dose for one log of inactivation (mJ/cm²/log).

  • uvt (float, optional) – Operating / reference UV transmittance (% per cm) for the first-order intensity correction (uvt_intensity_factor()). Both None = no correction.

  • uvt_ref (float, optional) – Operating / reference UV transmittance (% per cm) for the first-order intensity correction (uvt_intensity_factor()). Both None = no correction.

  • max_log (float, optional) – Cap on the log-inactivation (tailing). None = uncapped.

  • baffling_factor (float) – T10/HRT short-circuiting factor on the exposure time. Default 1.0.

  • inlet_density (float) – Indicator density used when the inlet stream carries none (org is None). Default 0.

  • input_port (str)

  • output_port (str)

__init__(name, model, volume, intensity, d10, uvt=None, uvt_ref=None, max_log=None, baffling_factor=1.0, inlet_density=0.0, input_port='in', output_port='out')#
Parameters:
  • name (str)

  • model (CompiledModel)

  • volume (float)

  • intensity (float)

  • d10 (float)

  • uvt (float | None)

  • uvt_ref (float | None)

  • max_log (float | None)

  • baffling_factor (float)

  • inlet_density (float)

  • input_port (str)

  • output_port (str)

Return type:

None

Methods

__init__(name, model, volume, intensity, d10)

compute_outputs(t, state, inputs, params[, ...])

exposure_seconds(flow)

Exposure time (s): the baffling-scaled residence V/Q (plant time unit, days) converted to seconds.

flow_outputs(input_flows, params[, ctx])

initial_state()

log_inactivation(flow)

The UV log-inactivation at the given throughflow.

rhs(t, state, inputs, params[, signals])

Attributes

baffling_factor

inlet_density

input_port

input_ports

max_log

output_port

output_ports

state_size

uvt

uvt_ref

name

model

volume

intensity

d10

exposure_seconds(flow)[source]#

Exposure time (s): the baffling-scaled residence V/Q (plant time unit, days) converted to seconds.

Return type:

Array

log_inactivation(flow)[source]#

The UV log-inactivation at the given throughflow.

Return type:

Array