bio_rtd.chromatography.bt_load

Load breakthrough profiles.

Load breakthrough profiles determine what parts of load bind to the column.

ConstantPatternSolution

class bio_rtd.chromatography.bt_load.ConstantPatternSolution(dt, dbc_100, k, bt_profile_id='ConstantPatternSolution')[source]

Bases: bio_rtd.core.ChromatographyLoadBreakthrough

Breakthrough profile - Constant Pattern Solution.

r = 1 / (1 + exp(k * (dbc_100 - m_load / cv)))

Parameters
  • dt – Time step duration.

  • dbc_100 (float) – Dynamic binding capacity if the load would last indefinitely.

  • k (float) – Steepness of the breakthrough profile.

  • bt_profile_id (str) – Unique identifier of the PDF instance. Used for logs.

Examples

>>> t = _np.linspace(0, 120, 1001)  # min
>>> dt = t[1]
>>> btc = ConstantPatternSolution(dt, dbc_100=240, k=0.05)
>>> btc.update_btc_parameters(cv=8.0)  # column volume [mL]
>>> btc.get_total_bc()  # 8.0 [mL] * 240 [mg/mL] = 1920.0 [mg]
1920.0
>>> # Load.
>>> f_in = _np.ones_like(t)  # mL / min
>>> c_in = _np.ones([1, t.size]) * 15  # mg / mL
>>> c_captured = btc.calc_c_bound(f_in, c_in)
>>> c_captured.shape == c_in.shape
True
>>> c_captured
array([[14.99990679, 14.99990574, 14.99990467, ..., 10.22437591,
        10.18768049, 10.15083683]])
>>> round((c_captured * f_in * dt).sum(), 1)  # < 1920.0
1739.0
POSSIBLE_KEY_GROUPS = [['cv']]
OPTIONAL_KEYS = []
dbc_100

Dynamic binding capacity at 100 % load breakthrough.

k

Steepness of the breakthrough profile.

assert_and_get_provided_kv_pairs(**kwargs)
Parameters

**kwargs – Inputs to calc_pdf(**kwargs) function

Returns

Filtered **kwargs so the keys contain first possible key group in POSSIBLE_KEY_GROUPS and any number of optional keys from OPTIONAL_KEYS.

Return type

dict

Raises

ValueError – If **kwargs do not contain keys from any of the groups in POSSIBLE_KEY_GROUPS.

calc_c_bound(f_load, c_load)

Calculates what parts of load bind to the column.

The default implementation calculates cumulative mass of the load material and passes it to _update_btc_parameters() abstract method for evaluation on what shares of the load bind to the column. Those shares are then multiplied by c_load in order to obtain resulting c_bound.

This method is meant to be overridden, if needed.

Parameters
  • f_load (ndarray) – Load flow rate profile.

  • c_load (ndarray) – Load concentration profile. Concentration profile should include only species which bind to the column.

Returns

c_bound – Parts of the load that bind to the column during the load step.

c_bound has the same shape as c_load.

Return type

ndarray

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.

update_btc_parameters(**kwargs)

Update binding dynamics for a given set of parameters.

Parameters

**kwargs – Should contain keys from one of the group in POSSIBLE_KEY_GROUPS. It may contain additional keys from OPTIONAL_KEYS.

get_total_bc()[source]

Total binding capacity.

Meant e.g. for determining column utilization.

Return type

float