bio_rtd.uo.sc_uo

Semi continuous unit operations.

Unit operations that accept constant or box-shaped flow rate profile and provide periodic flow rate profile.

ACC

class bio_rtd.uo.sc_uo.ACC(t, uo_id, load_bt, peak_shape_pdf, gui_title='ACC')[source]

Bases: bio_rtd.uo.sc_uo.AlternatingChromatography

Alternating column chromatography without recycling.

Alternating load-bind-elution twin-column chromatography without recycling of overloaded or washed out material.

This class offers no dynamics for desorption during wash step.

Parameters
  • t (ndarray) – Simulation time vector. Starts with 0 and has a constant time step.

  • uo_id (str) – Unique identifier.

  • load_bt (ChromatographyLoadBreakthrough) – Load breakthrough logic.

  • peak_shape_pdf (PDF) – Elution peak shape.

  • gui_title (str) – Readable title for GUI. Default = “ACC”.

Notes

For list of attributes refer to AlternatingChromatography.

Examples

>>> dt = 0.5  # min
>>> t = _np.arange(0, 24.1 * 60, dt)
>>> load_bt = _bt_load.ConstantPatternSolution(dt, dbc_100=50, k=0.12)
>>> peak_shape_pdf = _pdf.ExpModGaussianFixedRelativeWidth(t, 0.15, 0.3)
>>> acc_pro_a = ACC(
...     t,
...     load_bt=load_bt,
...     peak_shape_pdf=peak_shape_pdf,
...     uo_id="pro_a_acc",
...     gui_title="ProteinA ACC",
... )
>>> acc_pro_a.cv = 100  # mL
>>> # Equilibration step.
>>> acc_pro_a.equilibration_cv = 1.5
>>> # Equilibration flow rate is same as load flow rate.
>>> acc_pro_a.equilibration_f_rel = 1
>>> # Load 10 CVs.
>>> acc_pro_a.load_cv = 20
>>> # Define wash step.
>>> acc_pro_a.wash_cv = 5
>>> # Elution step.
>>> acc_pro_a.elution_cv = 3
>>> # 1st momentum of elution peak from data from above.
>>> acc_pro_a.elution_peak_position_cv = 1.2
>>> acc_pro_a.elution_peak_cut_start_c_rel_to_peak_max = 0.05
>>> acc_pro_a.elution_peak_cut_end_c_rel_to_peak_max = 0.05
>>> # Regeneration step.
>>> acc_pro_a.regeneration_cv = 1.5
>>> # Inlet flow rate profile.
>>> f_in = _np.ones_like(t) * 15  # mL/min
>>> c_in = _np.ones([1, t.size]) * 2.5  # mg/mL
>>> # Simulate ACC.
>>> f_out, c_out = acc_pro_a.evaluate(f_in, c_in)
evaluate(f_in, c_in)

Evaluate the propagation throughout the unit operation.

Parameters
  • c_in (ndarray) – Inlet concentration profile with shape (n_species, n_time_steps).

  • f_in (array) – Inlet flow rate profile with shape (n_time_steps,).

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

get_result()

Returns existing flow rate and concentration profiles.

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

property log

Reference of the RtdLogger instance.

Setter also plants instance data tree into passed logger.

If logger is requested, but not yet set, then a bio_rtd.logger.DefaultLogger is instantiated.

Return type

RtdLogger

set_logger_from_parent(parent_id, logger)

Inherit logger from parent.

Parameters
  • parent_id (str) – Unique identifier of parent instance.

  • logger (RtdLogger) – Logger from parent instance.

uo_id: str

Unique identifier of the instance

gui_title: str

Readable title for GUI

gui_hidden: bool

Hide the of the unit operation (default False).

discard_inlet_until_t: float

Discard inlet until given time.

discard_inlet_until_min_c: _np.ndarray

Discard inlet until given concentration is reached.

discard_inlet_until_min_c_rel: _np.ndarray

Discard inlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_inlet_n_cycles: int

Discard first n cycles of the periodic inlet flow rate profile.

discard_outlet_until_t: float

Discard outlet until given time.

discard_outlet_until_min_c: _np.ndarray

Discard outlet until given concentration is reached.

discard_outlet_until_min_c_rel: _np.ndarray

Discard outlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_outlet_n_cycles: int

Discard first n cycles of the periodic outlet flow rate profile.

load_bt: _core.ChromatographyLoadBreakthrough

Determines what part of load material binds to the column.

elution_peak_shape: _core.PDF

Elution peak shape.

non_binding_species: _typing.Sequence[int]

Process buffer species that are NOT binding to the column.

Indexing starts with 0.

cv: float

Column volume.

Column volume should be defined by exactly one of the following attribute groups:

ft_mean_retentate: float

Flow-through time of retentate under non-binding conditions.

Used to define column volume (independently of scale).

Column volume should be defined by exactly one of the following attribute groups:

column_porosity_retentate: float

Column porosity for retentate under non-binding conditions.

Required in case ft_mean_retentate is used to define column volume.

Required in case load_c_end_ss or load_c_end_relative_ss are used to estimate load step duration.

Required in case of load or wash recycling.

equilibration_cv: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_t: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_f: float

Equilibration step flow rate.

Equilibration step flow rate should be defined by exactly one of the following attributes:

equilibration_f_rel: float

Equilibration step flow rate relative to load flow rate.

Default = 1.

Equilibration step flow rate = equilibration_f_rel * load flow rate

Equilibration step flow rate should be defined by exactly one of the following attributes:

load_cv: float

Load phase duration in CV.

This is preferable way to define the duration of the load step as it does not require any estimations about steady state.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_ss: _typing.Optional[_np.ndarray]

Load phase switch based on target product breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the breakthrough reaches specified concentration.

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_relative_ss: float

Load phase switch based on relative breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the product (binding species) in the breakthrough reaches specified relative concentration (relative to load concentration in steady-state operation).

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_estimate_with_iterative_solver: bool

Finer optimization of cycle length estimation.

Default = True.

In case load step duration is estimated based of breakthrough criteria (i.e. by load_c_end_ss or load_c_end_relative_ss), the model needs to simulate steady-state operation in order to determine fixed load time. This parameters enables iterative solver that allows more precise estimation but might slow down the simulation.

Notes

Max number of iteration steps is defined by load_c_end_estimate_with_iter_solver_max_iter.

load_c_end_estimate_with_iter_solver_max_iter: int

Max steps for optimization of cycle length estimation.

Default = 1000.

load_extend_first_cycle: bool

Extend first load phase to achieve a faster steady-state.

Only relevant in case wash or load is recycled.

The duration of extension is defined by:

load_extend_first_cycle_cv: float

Duration of first load phase extension in column volumes.

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_extend_first_cycle_t: float

Duration of first load phase extension (time).

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_target_lin_velocity: float

Target load linear velocity.

It is used to provide information about required column height.

It does not have any impact on the rest of the model.

Units need to match other units in the model.

wash_cv: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_t: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_f: float

Wash step flow rate.

Wash step flow rate should be defined by exactly one of the following attributes:

wash_f_rel: float

Wash step flow rate relative to load flow rate. Default = 1.

Wash step flow rate = wash_f_rel * load flow rate

Wash step flow rate should be defined by exactly one of the following attributes:

unaccounted_losses_rel: float

Unaccounted losses as a share of bound material.

Elution peak is scaled down by 1 - unaccounted_losses_rel before applying peak cut criteria.

elution_cv: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_t: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_f: float

Elution step flow rate.

Elution step flow rate should be defined by exactly one of the following attributes:

elution_f_rel: float

Elution step flow rate relative to load flow rate.

Default = 1.

Elution step flow rate = elution_f_rel * load flow rate

Elution step flow rate should be defined by exactly one of the following attributes:

elution_buffer_c: _np.ndarray

Elution buffer composition.

Default = empty array (= all components are 0).

If defined it must have a value for each specie.

elution_peak_position_cv: float

Position (cv) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_position_t: float

Position (time) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_cut_start_t: float

Elution peak cut start (time).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_cv: float

Elution peak cut start (cv).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_c_rel_to_peak_max: float

Elution peak cut start (signal relative to peak max).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_peak_area_share: float

Elution peak cut start (share of total peak area).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_end_t: float

Elution peak cut end (time).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_cv: float

Elution peak cut end (cv).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_c_rel_to_peak_max: float

Elution peak cut end (signal relative to peak max).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_peak_area_share: float

Elution peak cut end (share of total peak area).

Exactly one peak cut end criteria should be defined.

regeneration_cv: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_t: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_f: float

Regeneration step flow rate.

Regeneration step flow rate should be defined by exactly one of the following attributes:

regeneration_f_rel: float

Regeneration step flow rate relative to load flow rate.

Default = 1.

Regeneration step flow rate = regeneration_f_rel * load flow rate

Regeneration step flow rate should be defined by exactly one of the following attributes:

wash_desorption: bool

Enable wash desorption.

Make sure the class implements the desorption dynamics.

load_recycle: bool

Recycle load breakthrough. Default = False.

load_recycle_pdf: _typing.Optional[_core.PDF]

PDF of wash and/or unbound load traveling through the column.

The unbound (not captured) part and desorbed part are propagated through the column by load_recycle_pdf.

Void volume for load_recycle_pdf is defined as column_porosity_retentate * column volume.

wash_recycle: bool

Recycle wash. Default = False.

Wash is recycled onto 3rd column while the 2nd is on load step. After the wash recycle, the 3rd column is connected to 2nd column to recycle load breakthrough material.

wash_recycle_duration_cv: float

Duration of wash recycle (cv).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_cv and wash_recycle_duration_t) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

wash_recycle_duration_t: float

Duration of wash recycle (time).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_t and wash_recycle_duration_cv) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

adj_par_list

List of adjustable parameters exposed to the GUI.

Type

list of bio_rtd.adj_par.AdjustableParameter

PCC

class bio_rtd.uo.sc_uo.PCC(t, uo_id, load_bt, load_recycle_pdf, column_porosity_retentate, peak_shape_pdf, gui_title='PCC')[source]

Bases: bio_rtd.uo.sc_uo.AlternatingChromatography

Alternating column chromatography with recycling of load.

Alternating load-bind-elution twin-column chromatography with optional recycling of overloaded or washed out material.

This class offers no dynamics for desorption during wash step.

PCC uses load_bt to determine what parts of the load (and recycled material) bind to the column. The unbound (not captured) part is propagated through the column by load_recycle_pdf.

Void volume for load_recycle_pdf is defined as column_porosity_retentate * column volume.

Parameters
  • t (ndarray) – Simulation time vector. Starts with 0 and has a constant time step.

  • uo_id (str) – Unique identifier.

  • load_bt (ChromatographyLoadBreakthrough) – Load breakthrough logic.

  • load_recycle_pdf (PDF) – Propagation of load breakthrough and/or washed out material through the column.

  • column_porosity_retentate (float) – Porosity of the column for binding species (protein).

  • peak_shape_pdf (PDF) – Elution peak shape.

  • gui_title (str) – Readable title for GUI. Default = “PCC”.

Notes

For list of additional attributes refer to AlternatingChromatography.

Examples

>>> dt = 0.5  # min
>>> t = _np.arange(0, 24.1 * 60, dt)
>>> load_bt = _bt_load.ConstantPatternSolution(dt, dbc_100=50, k=0.12)
>>> peak_shape_pdf = _pdf.ExpModGaussianFixedRelativeWidth(t, 0.15, 0.3)
>>> load_recycle_pdf = _pdf.GaussianFixedDispersion(t, 2 * 2 / 30)
>>> pcc_pro_a = PCC(
...     t,
...     load_bt=load_bt,
...     peak_shape_pdf=peak_shape_pdf,
...     load_recycle_pdf=load_recycle_pdf,
...     # Porosity of the column for protein.
...     column_porosity_retentate=0.64,
...     uo_id="pro_a_pcc",
...     gui_title="ProteinA PCC",
... )
>>> pcc_pro_a.cv = 100  # mL
>>> # Equilibration step.
>>> pcc_pro_a.equilibration_cv = 1.5
>>> # Equilibration flow rate is same as load flow rate.
>>> pcc_pro_a.equilibration_f_rel = 1
>>> # Load until 70 % breakthrough.
>>> pcc_pro_a.load_c_end_relative_ss = 0.7
>>> # Automatically prolong first cycle to faster achieve a steady-state.
>>> pcc_pro_a.load_extend_first_cycle = True
>>> # Define wash step.
>>> # There is no desorption during wash step in this example.
>>> pcc_pro_a.wash_cv = 5
>>> pcc_pro_a.wash_recycle = True
>>> pcc_pro_a.wash_recycle_duration_cv = 2
>>> # Elution step.
>>> pcc_pro_a.elution_cv = 3
>>> # 1st momentum of elution peak from data from above.
>>> pcc_pro_a.elution_peak_position_cv = 1.2
>>> pcc_pro_a.elution_peak_cut_start_c_rel_to_peak_max = 0.05
>>> pcc_pro_a.elution_peak_cut_end_c_rel_to_peak_max = 0.05
>>> # Regeneration step.
>>> pcc_pro_a.regeneration_cv = 1.5
>>> # Inlet flow rate profile.
>>> f_in = _np.ones_like(t) * 15  # mL/min
>>> c_in = _np.ones([1, t.size]) * 2.5  # mg/mL
>>> # Simulate ACC.
>>> f_out, c_out = pcc_pro_a.evaluate(f_in, c_in) 
pro_a_pcc: Steady-state concentration is being estimated ...
pro_a_pcc: Steady-state concentration is being estimated ...
evaluate(f_in, c_in)

Evaluate the propagation throughout the unit operation.

Parameters
  • c_in (ndarray) – Inlet concentration profile with shape (n_species, n_time_steps).

  • f_in (array) – Inlet flow rate profile with shape (n_time_steps,).

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

get_result()

Returns existing flow rate and concentration profiles.

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

property log

Reference of the RtdLogger instance.

Setter also plants instance data tree into passed logger.

If logger is requested, but not yet set, then a bio_rtd.logger.DefaultLogger is instantiated.

Return type

RtdLogger

set_logger_from_parent(parent_id, logger)

Inherit logger from parent.

Parameters
  • parent_id (str) – Unique identifier of parent instance.

  • logger (RtdLogger) – Logger from parent instance.

uo_id: str

Unique identifier of the instance

gui_title: str

Readable title for GUI

gui_hidden: bool

Hide the of the unit operation (default False).

discard_inlet_until_t: float

Discard inlet until given time.

discard_inlet_until_min_c: _np.ndarray

Discard inlet until given concentration is reached.

discard_inlet_until_min_c_rel: _np.ndarray

Discard inlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_inlet_n_cycles: int

Discard first n cycles of the periodic inlet flow rate profile.

discard_outlet_until_t: float

Discard outlet until given time.

discard_outlet_until_min_c: _np.ndarray

Discard outlet until given concentration is reached.

discard_outlet_until_min_c_rel: _np.ndarray

Discard outlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_outlet_n_cycles: int

Discard first n cycles of the periodic outlet flow rate profile.

load_bt: _core.ChromatographyLoadBreakthrough

Determines what part of load material binds to the column.

elution_peak_shape: _core.PDF

Elution peak shape.

non_binding_species: _typing.Sequence[int]

Process buffer species that are NOT binding to the column.

Indexing starts with 0.

cv: float

Column volume.

Column volume should be defined by exactly one of the following attribute groups:

ft_mean_retentate: float

Flow-through time of retentate under non-binding conditions.

Used to define column volume (independently of scale).

Column volume should be defined by exactly one of the following attribute groups:

equilibration_cv: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_t: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_f: float

Equilibration step flow rate.

Equilibration step flow rate should be defined by exactly one of the following attributes:

equilibration_f_rel: float

Equilibration step flow rate relative to load flow rate.

Default = 1.

Equilibration step flow rate = equilibration_f_rel * load flow rate

Equilibration step flow rate should be defined by exactly one of the following attributes:

load_cv: float

Load phase duration in CV.

This is preferable way to define the duration of the load step as it does not require any estimations about steady state.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_ss: _typing.Optional[_np.ndarray]

Load phase switch based on target product breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the breakthrough reaches specified concentration.

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_relative_ss: float

Load phase switch based on relative breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the product (binding species) in the breakthrough reaches specified relative concentration (relative to load concentration in steady-state operation).

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_estimate_with_iterative_solver: bool

Finer optimization of cycle length estimation.

Default = True.

In case load step duration is estimated based of breakthrough criteria (i.e. by load_c_end_ss or load_c_end_relative_ss), the model needs to simulate steady-state operation in order to determine fixed load time. This parameters enables iterative solver that allows more precise estimation but might slow down the simulation.

Notes

Max number of iteration steps is defined by load_c_end_estimate_with_iter_solver_max_iter.

load_c_end_estimate_with_iter_solver_max_iter: int

Max steps for optimization of cycle length estimation.

Default = 1000.

load_extend_first_cycle: bool

Extend first load phase to achieve a faster steady-state.

Only relevant in case wash or load is recycled.

The duration of extension is defined by:

load_extend_first_cycle_cv: float

Duration of first load phase extension in column volumes.

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_extend_first_cycle_t: float

Duration of first load phase extension (time).

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_target_lin_velocity: float

Target load linear velocity.

It is used to provide information about required column height.

It does not have any impact on the rest of the model.

Units need to match other units in the model.

wash_cv: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_t: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_f: float

Wash step flow rate.

Wash step flow rate should be defined by exactly one of the following attributes:

wash_f_rel: float

Wash step flow rate relative to load flow rate. Default = 1.

Wash step flow rate = wash_f_rel * load flow rate

Wash step flow rate should be defined by exactly one of the following attributes:

unaccounted_losses_rel: float

Unaccounted losses as a share of bound material.

Elution peak is scaled down by 1 - unaccounted_losses_rel before applying peak cut criteria.

elution_cv: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_t: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_f: float

Elution step flow rate.

Elution step flow rate should be defined by exactly one of the following attributes:

elution_f_rel: float

Elution step flow rate relative to load flow rate.

Default = 1.

Elution step flow rate = elution_f_rel * load flow rate

Elution step flow rate should be defined by exactly one of the following attributes:

elution_buffer_c: _np.ndarray

Elution buffer composition.

Default = empty array (= all components are 0).

If defined it must have a value for each specie.

elution_peak_position_cv: float

Position (cv) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_position_t: float

Position (time) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_cut_start_t: float

Elution peak cut start (time).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_cv: float

Elution peak cut start (cv).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_c_rel_to_peak_max: float

Elution peak cut start (signal relative to peak max).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_peak_area_share: float

Elution peak cut start (share of total peak area).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_end_t: float

Elution peak cut end (time).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_cv: float

Elution peak cut end (cv).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_c_rel_to_peak_max: float

Elution peak cut end (signal relative to peak max).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_peak_area_share: float

Elution peak cut end (share of total peak area).

Exactly one peak cut end criteria should be defined.

regeneration_cv: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_t: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_f: float

Regeneration step flow rate.

Regeneration step flow rate should be defined by exactly one of the following attributes:

regeneration_f_rel: float

Regeneration step flow rate relative to load flow rate.

Default = 1.

Regeneration step flow rate = regeneration_f_rel * load flow rate

Regeneration step flow rate should be defined by exactly one of the following attributes:

wash_desorption: bool

Enable wash desorption.

Make sure the class implements the desorption dynamics.

wash_recycle_duration_cv: float

Duration of wash recycle (cv).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_cv and wash_recycle_duration_t) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

wash_recycle_duration_t: float

Duration of wash recycle (time).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_t and wash_recycle_duration_cv) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

adj_par_list

List of adjustable parameters exposed to the GUI.

Type

list of bio_rtd.adj_par.AdjustableParameter

load_recycle: bool

Recycle load breakthrough. Default = True.

wash_recycle: bool

Recycle wash. Default = False.

column_porosity_retentate: float

Column porosity for binding species.

See also

PCC

Examples

column_porosity_retentate is a mean residence time of the product (protein) traveling through the column during non-binding conditions (in CVs).

load_recycle_pdf: _typing.Optional[_core.PDF]

PDF of wash and/or unbound load traveling through the column.

See also

PCC

PCCWithWashDesorption

class bio_rtd.uo.sc_uo.PCCWithWashDesorption(t, uo_id, load_bt, load_recycle_pdf, column_porosity_retentate, peak_shape_pdf, gui_title='PCCWithWashDesorption')[source]

Bases: bio_rtd.uo.sc_uo.PCC

Alternating column chromatography with recycling of load.

Alternating load-bind-elution twin-column chromatography with optional recycling of overloaded or washed out material.

The material desorption during wash step is defined by exponential half life time

and the amount of desorbable material which is defined by

PCC uses load_bt to determine what parts of the load (and recycled material) bind to the column.

The unbound (not captured) part and desorbed part are propagated through the column by load_recycle_pdf.

Void volume for load_recycle_pdf is defined as column_porosity_retentate * column volume.

Parameters
  • t (ndarray) – Simulation time vector. Starts with 0 and has a constant time step.

  • uo_id (str) – Unique identifier.

  • load_bt (_core.ChromatographyLoadBreakthrough) – Load breakthrough logic.

  • load_recycle_pdf (_typing.Optional[_core.PDF]) – Propagation of load breakthrough and/or washed out material through the column.

  • column_porosity_retentate (float) – Porosity of the column for binding species (protein).

  • peak_shape_pdf (PDF) – Elution peak shape.

  • gui_title (str) – Readable title for GUI. Default = “PCCWithWashDesorption”.

Notes

During wash step, weaker binding isoforms might be desorbed and recycled. In turn they are again desorbed and recycled during next cycle and so on; resulting in increasing amount of desorbed material during wash step (even in steady-state). This is not considered by this class. Furthermore, it is not a favorable case in terms of RTD as the weakly bound material propagates from column to column for many cycles.

For list of additional attributes refer to PCC and AlternatingChromatography.

evaluate(f_in, c_in)

Evaluate the propagation throughout the unit operation.

Parameters
  • c_in (ndarray) – Inlet concentration profile with shape (n_species, n_time_steps).

  • f_in (array) – Inlet flow rate profile with shape (n_time_steps,).

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

get_result()

Returns existing flow rate and concentration profiles.

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

property log

Reference of the RtdLogger instance.

Setter also plants instance data tree into passed logger.

If logger is requested, but not yet set, then a bio_rtd.logger.DefaultLogger is instantiated.

Return type

RtdLogger

set_logger_from_parent(parent_id, logger)

Inherit logger from parent.

Parameters
  • parent_id (str) – Unique identifier of parent instance.

  • logger (RtdLogger) – Logger from parent instance.

uo_id: str

Unique identifier of the instance

gui_title: str

Readable title for GUI

gui_hidden: bool

Hide the of the unit operation (default False).

discard_inlet_until_t: float

Discard inlet until given time.

discard_inlet_until_min_c: _np.ndarray

Discard inlet until given concentration is reached.

discard_inlet_until_min_c_rel: _np.ndarray

Discard inlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_inlet_n_cycles: int

Discard first n cycles of the periodic inlet flow rate profile.

discard_outlet_until_t: float

Discard outlet until given time.

discard_outlet_until_min_c: _np.ndarray

Discard outlet until given concentration is reached.

discard_outlet_until_min_c_rel: _np.ndarray

Discard outlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_outlet_n_cycles: int

Discard first n cycles of the periodic outlet flow rate profile.

load_bt: _core.ChromatographyLoadBreakthrough

Determines what part of load material binds to the column.

elution_peak_shape: _core.PDF

Elution peak shape.

non_binding_species: _typing.Sequence[int]

Process buffer species that are NOT binding to the column.

Indexing starts with 0.

cv: float

Column volume.

Column volume should be defined by exactly one of the following attribute groups:

ft_mean_retentate: float

Flow-through time of retentate under non-binding conditions.

Used to define column volume (independently of scale).

Column volume should be defined by exactly one of the following attribute groups:

column_porosity_retentate: float

Column porosity for binding species.

See also

PCC

Examples

column_porosity_retentate is a mean residence time of the product (protein) traveling through the column during non-binding conditions (in CVs).

equilibration_cv: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_t: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_f: float

Equilibration step flow rate.

Equilibration step flow rate should be defined by exactly one of the following attributes:

equilibration_f_rel: float

Equilibration step flow rate relative to load flow rate.

Default = 1.

Equilibration step flow rate = equilibration_f_rel * load flow rate

Equilibration step flow rate should be defined by exactly one of the following attributes:

load_cv: float

Load phase duration in CV.

This is preferable way to define the duration of the load step as it does not require any estimations about steady state.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_ss: _typing.Optional[_np.ndarray]

Load phase switch based on target product breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the breakthrough reaches specified concentration.

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_relative_ss: float

Load phase switch based on relative breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the product (binding species) in the breakthrough reaches specified relative concentration (relative to load concentration in steady-state operation).

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_estimate_with_iterative_solver: bool

Finer optimization of cycle length estimation.

Default = True.

In case load step duration is estimated based of breakthrough criteria (i.e. by load_c_end_ss or load_c_end_relative_ss), the model needs to simulate steady-state operation in order to determine fixed load time. This parameters enables iterative solver that allows more precise estimation but might slow down the simulation.

Notes

Max number of iteration steps is defined by load_c_end_estimate_with_iter_solver_max_iter.

load_c_end_estimate_with_iter_solver_max_iter: int

Max steps for optimization of cycle length estimation.

Default = 1000.

load_extend_first_cycle: bool

Extend first load phase to achieve a faster steady-state.

Only relevant in case wash or load is recycled.

The duration of extension is defined by:

load_extend_first_cycle_cv: float

Duration of first load phase extension in column volumes.

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_extend_first_cycle_t: float

Duration of first load phase extension (time).

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_target_lin_velocity: float

Target load linear velocity.

It is used to provide information about required column height.

It does not have any impact on the rest of the model.

Units need to match other units in the model.

wash_cv: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_t: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_f: float

Wash step flow rate.

Wash step flow rate should be defined by exactly one of the following attributes:

wash_f_rel: float

Wash step flow rate relative to load flow rate. Default = 1.

Wash step flow rate = wash_f_rel * load flow rate

Wash step flow rate should be defined by exactly one of the following attributes:

unaccounted_losses_rel: float

Unaccounted losses as a share of bound material.

Elution peak is scaled down by 1 - unaccounted_losses_rel before applying peak cut criteria.

elution_cv: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_t: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_f: float

Elution step flow rate.

Elution step flow rate should be defined by exactly one of the following attributes:

elution_f_rel: float

Elution step flow rate relative to load flow rate.

Default = 1.

Elution step flow rate = elution_f_rel * load flow rate

Elution step flow rate should be defined by exactly one of the following attributes:

elution_buffer_c: _np.ndarray

Elution buffer composition.

Default = empty array (= all components are 0).

If defined it must have a value for each specie.

elution_peak_position_cv: float

Position (cv) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_position_t: float

Position (time) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_cut_start_t: float

Elution peak cut start (time).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_cv: float

Elution peak cut start (cv).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_c_rel_to_peak_max: float

Elution peak cut start (signal relative to peak max).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_peak_area_share: float

Elution peak cut start (share of total peak area).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_end_t: float

Elution peak cut end (time).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_cv: float

Elution peak cut end (cv).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_c_rel_to_peak_max: float

Elution peak cut end (signal relative to peak max).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_peak_area_share: float

Elution peak cut end (share of total peak area).

Exactly one peak cut end criteria should be defined.

regeneration_cv: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_t: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_f: float

Regeneration step flow rate.

Regeneration step flow rate should be defined by exactly one of the following attributes:

regeneration_f_rel: float

Regeneration step flow rate relative to load flow rate.

Default = 1.

Regeneration step flow rate = regeneration_f_rel * load flow rate

Regeneration step flow rate should be defined by exactly one of the following attributes:

load_recycle_pdf: _typing.Optional[_core.PDF]

PDF of wash and/or unbound load traveling through the column.

See also

PCC

wash_recycle_duration_cv: float

Duration of wash recycle (cv).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_cv and wash_recycle_duration_t) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

wash_recycle_duration_t: float

Duration of wash recycle (time).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_t and wash_recycle_duration_cv) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

adj_par_list

List of adjustable parameters exposed to the GUI.

Type

list of bio_rtd.adj_par.AdjustableParameter

load_recycle: bool

Recycle load breakthrough. Default = True.

wash_recycle: bool

Recycle wash. Default = True.

wash_desorption: bool

Simulate desorption during wash step. Default = True.

wash_desorption_tail_half_time_cv

Wash desorption rate.

Required if wash_desorption is True.

Wash desorption is simulated as exponential decay with half-life wash_desorption_tail_half_time_cv.

wash_desorption_desorbable_material_share

Share of material that can be desorbed during wash step.

Wash desorption is simulated as exponential decay. Only part of adsorbed material is subjected to that exponential decay. That part can be defined by:

wash_desorption_desorbable_above_dbc

Share of material that can be desorbed during wash step.

Share is defined as a share of material loaded onto the column that exceeds specified wash_desorption_desorbable_above_dbc binding capacity.

Wash desorption is simulated as exponential decay. Only part of adsorbed material is subjected to that exponential decay. That part can be defined by:

AlternatingChromatography

class bio_rtd.uo.sc_uo.AlternatingChromatography(t, uo_id, load_bt, peak_shape_pdf, gui_title='AC')[source]

Bases: bio_rtd.core.UnitOperation

Simulation of alternating chromatography.

This class implements logic common to various types of alternating chromatography. It has a role of a base class for specific types of alternating chromatography to extend.

Parameters
  • t (ndarray) – Simulation time vector. Starts with 0 and has a constant time step.

  • uo_id (str) – Unique identifier.

  • load_bt (ChromatographyLoadBreakthrough) – Load breakthrough logic.

  • peak_shape_pdf (PDF) – Elution peak shape.

  • gui_title (str) – Readable title for GUI. Default = “AC”.

Notes

Quick description of which attributes are available:

Non-binding species (optional):

Column volume (exactly one required):

Column porosity for binding species (required in case of ft_mean_retentate or wash or load recycling):

Equilibration step duration (optional, if both, the values are added together):

Equilibration step flow rate (exactly one needed):

Load step duration:

Iterative optimization of estimation of load step duration (ignored if load_cv is defined):

Extension of first load step (optional; ignored if no recycling):

Load linear velocity - only for column height determination (optional):

Wash step duration (optional, if both, the values are added together):

Wash step flow rate (exactly one needed):

Unaccounted losses - applied before peak cut (optional):

Elution step duration (optional, if both, the values are added together):

Elution step flow rate (exactly one needed):

Elution buffer composition (optional):

Elution peak position duration - first momentum (optional, if both, the values are added together):

Elution peak cut start (one is required):

Elution peak cut end (one is required):

Regeneration step duration (optional, if both, the values are added together):

Regeneration step flow rate (exactly one needed):

Wash desorption (optional, also check if class supports it):

Load breakthrough recycle (optional):

Load breakthrough propagation dynamics (required if load_recycle is True or load_c_end_ss is defined or or load_c_end_relative_ss is defined):

Wash recycle (optional):

Duration of wash recycling (optional; ignored if wash_recycle is False):

Please note that subclasses might introduce new attributes or change the default values of existing attributes.

load_bt: _core.ChromatographyLoadBreakthrough

Determines what part of load material binds to the column.

elution_peak_shape: _core.PDF

Elution peak shape.

non_binding_species: _typing.Sequence[int]

Process buffer species that are NOT binding to the column.

Indexing starts with 0.

cv: float

Column volume.

Column volume should be defined by exactly one of the following attribute groups:

ft_mean_retentate: float

Flow-through time of retentate under non-binding conditions.

Used to define column volume (independently of scale).

Column volume should be defined by exactly one of the following attribute groups:

column_porosity_retentate: float

Column porosity for retentate under non-binding conditions.

Required in case ft_mean_retentate is used to define column volume.

Required in case load_c_end_ss or load_c_end_relative_ss are used to estimate load step duration.

Required in case of load or wash recycling.

equilibration_cv: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_t: float

Duration of equilibration step.

The values of equilibration_t and equilibration_cv are added together.

equilibration_f: float

Equilibration step flow rate.

Equilibration step flow rate should be defined by exactly one of the following attributes:

equilibration_f_rel: float

Equilibration step flow rate relative to load flow rate.

Default = 1.

Equilibration step flow rate = equilibration_f_rel * load flow rate

Equilibration step flow rate should be defined by exactly one of the following attributes:

load_cv: float

Load phase duration in CV.

This is preferable way to define the duration of the load step as it does not require any estimations about steady state.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_ss: _typing.Optional[_np.ndarray]

Load phase switch based on target product breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the breakthrough reaches specified concentration.

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_relative_ss: float

Load phase switch based on relative breakthrough conc.

Load phase duration is estimated from simulating steady state operation and determining when the product (binding species) in the breakthrough reaches specified relative concentration (relative to load concentration in steady-state operation).

Steady state simulation requires column_porosity_retentate load_recycle_pdf.

Load phase duration should be defined by exactly one of the following attribute groups:

Notes

First load step can be extended by setting load_extend_first_cycle, load_extend_first_cycle_cv and load_extend_first_cycle_t.

load_c_end_estimate_with_iterative_solver: bool

Finer optimization of cycle length estimation.

Default = True.

In case load step duration is estimated based of breakthrough criteria (i.e. by load_c_end_ss or load_c_end_relative_ss), the model needs to simulate steady-state operation in order to determine fixed load time. This parameters enables iterative solver that allows more precise estimation but might slow down the simulation.

Notes

Max number of iteration steps is defined by load_c_end_estimate_with_iter_solver_max_iter.

load_c_end_estimate_with_iter_solver_max_iter: int

Max steps for optimization of cycle length estimation.

Default = 1000.

load_extend_first_cycle: bool

Extend first load phase to achieve a faster steady-state.

Only relevant in case wash or load is recycled.

The duration of extension is defined by:

load_extend_first_cycle_cv: float

Duration of first load phase extension in column volumes.

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_extend_first_cycle_t: float

Duration of first load phase extension (time).

Only relevant if load_extend_first_cycle is True.

If the duration if defined by load_extend_first_cycle_cv and load_extend_first_cycle_t then the values are added together.

load_target_lin_velocity: float

Target load linear velocity.

It is used to provide information about required column height.

It does not have any impact on the rest of the model.

Units need to match other units in the model.

wash_cv: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_t: float

Duration of wash step.

The values of wash_t and wash_cv are added together.

wash_f: float

Wash step flow rate.

Wash step flow rate should be defined by exactly one of the following attributes:

wash_f_rel: float

Wash step flow rate relative to load flow rate. Default = 1.

Wash step flow rate = wash_f_rel * load flow rate

Wash step flow rate should be defined by exactly one of the following attributes:

unaccounted_losses_rel: float

Unaccounted losses as a share of bound material.

Elution peak is scaled down by 1 - unaccounted_losses_rel before applying peak cut criteria.

elution_cv: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_t: float

Duration of elution step.

The values of elution_t and elution_cv are added together.

elution_f: float

Elution step flow rate.

Elution step flow rate should be defined by exactly one of the following attributes:

elution_f_rel: float

Elution step flow rate relative to load flow rate.

Default = 1.

Elution step flow rate = elution_f_rel * load flow rate

Elution step flow rate should be defined by exactly one of the following attributes:

elution_buffer_c: _np.ndarray

Elution buffer composition.

Default = empty array (= all components are 0).

If defined it must have a value for each specie.

elution_peak_position_cv: float

Position (cv) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_position_t: float

Position (time) of elution peak in the elution step.

This is for 1st moment or mean residence time (and not necessarily peak max position).

The values of elution_peak_position_t and elution_peak_position_cv are added together.

elution_peak_cut_start_t: float

Elution peak cut start (time).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_cv: float

Elution peak cut start (cv).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_c_rel_to_peak_max: float

Elution peak cut start (signal relative to peak max).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_start_peak_area_share: float

Elution peak cut start (share of total peak area).

Exactly one peak cut start criteria should be defined.

elution_peak_cut_end_t: float

Elution peak cut end (time).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_cv: float

Elution peak cut end (cv).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_c_rel_to_peak_max: float

Elution peak cut end (signal relative to peak max).

Exactly one peak cut end criteria should be defined.

elution_peak_cut_end_peak_area_share: float

Elution peak cut end (share of total peak area).

Exactly one peak cut end criteria should be defined.

regeneration_cv: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_t: float

Duration of regeneration step.

The values of regeneration_t and regeneration_cv are added together.

regeneration_f: float

Regeneration step flow rate.

Regeneration step flow rate should be defined by exactly one of the following attributes:

regeneration_f_rel: float

Regeneration step flow rate relative to load flow rate.

Default = 1.

Regeneration step flow rate = regeneration_f_rel * load flow rate

Regeneration step flow rate should be defined by exactly one of the following attributes:

wash_desorption: bool

Enable wash desorption.

Make sure the class implements the desorption dynamics.

load_recycle: bool

Recycle load breakthrough. Default = False.

load_recycle_pdf: _typing.Optional[_core.PDF]

PDF of wash and/or unbound load traveling through the column.

The unbound (not captured) part and desorbed part are propagated through the column by load_recycle_pdf.

Void volume for load_recycle_pdf is defined as column_porosity_retentate * column volume.

wash_recycle: bool

Recycle wash. Default = False.

Wash is recycled onto 3rd column while the 2nd is on load step. After the wash recycle, the 3rd column is connected to 2nd column to recycle load breakthrough material.

wash_recycle_duration_cv: float

Duration of wash recycle (cv).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_cv and wash_recycle_duration_t) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

wash_recycle_duration_t: float

Duration of wash recycle (time).

Relevant if wash_recycle is True.

If both (wash_recycle_duration_t and wash_recycle_duration_cv) are defined, then the values are added together. If none of those is defined, then the entire wash step is recycled.

property log

Reference of the RtdLogger instance.

Setter also plants instance data tree into passed logger.

If logger is requested, but not yet set, then a bio_rtd.logger.DefaultLogger is instantiated.

Return type

RtdLogger

evaluate(f_in, c_in)

Evaluate the propagation throughout the unit operation.

Parameters
  • c_in (ndarray) – Inlet concentration profile with shape (n_species, n_time_steps).

  • f_in (array) – Inlet flow rate profile with shape (n_time_steps,).

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

get_result()

Returns existing flow rate and concentration profiles.

Return type

Tuple[ndarray, ndarray]

Returns

  • f_out – Outlet flow rate profile.

  • c_out – Outlet concentration profile.

set_logger_from_parent(parent_id, logger)

Inherit logger from parent.

Parameters
  • parent_id (str) – Unique identifier of parent instance.

  • logger (RtdLogger) – Logger from parent instance.

uo_id: str

Unique identifier of the instance

gui_title: str

Readable title for GUI

gui_hidden: bool

Hide the of the unit operation (default False).

discard_inlet_until_t: float

Discard inlet until given time.

discard_inlet_until_min_c: _np.ndarray

Discard inlet until given concentration is reached.

discard_inlet_until_min_c_rel: _np.ndarray

Discard inlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_inlet_n_cycles: int

Discard first n cycles of the periodic inlet flow rate profile.

discard_outlet_until_t: float

Discard outlet until given time.

discard_outlet_until_min_c: _np.ndarray

Discard outlet until given concentration is reached.

discard_outlet_until_min_c_rel: _np.ndarray

Discard outlet until given concentration relative to is reached.

Specified concentration is relative to the max concentration.

discard_outlet_n_cycles: int

Discard first n cycles of the periodic outlet flow rate profile.

adj_par_list

List of adjustable parameters exposed to the GUI.

Type

list of bio_rtd.adj_par.AdjustableParameter