Tanks in Series — rtdpy 0.6.0 documentation

# Tanks in Series

N-CSTR (Continuously Stirred Tank Reactor) or Tanks in Series model

class `rtdpy.ncstr.` `Ncstr`(n, tau, dt, time_end)

  Bases: `rtdpy.rtd.RTD`

  Create N CSTR in series (N-CSTR) AKA Tank in Series Residence Time Distribution (RTD) model. [1]

  \[E(t) = \frac{1}{\tau}\left(\frac{t}{\tau}\right)^{n-1} \frac{n^n}{\left(n-1\right)!} \text{exp}\left[\frac{-nt}{\tau}\right]\]
  Parameters
    tauscalar

      Mean residence time of all CSTRs. `tau>0`

    nscalar

      Number of CSTRs. Can be a real number `n>0`

    dtscalar

      Time step for RTD. `dt>0`

    time_endscalar

      End time for RTD. `time_end>0`

  References

  1

    Levenspiel O. (1999) “Chemical Reaction Engineering: Third Edition” John Wiley & Sons, Inc.

  Examples

      >>> import matplotlib.pyplot as plt
      >>> import rtdpy
      >>> for n in [1, 2, 10]:
      ...     a = rtdpy.Ncstr(tau=1, n=n, dt=.01, time_end=3)
      ...     plt.plot(a.time, a.exitage, label=f"n={n}")
      >>> plt.xlabel('Time')
      >>> plt.ylabel('Exit Age Function')
      >>> plt.legend()
      >>> plt.show()

  property `dt`

    Time step for RTD

  property `exitage`

    Exit age distribution for RTD

  property `exitage_norm`

    Normalized Exit Age Distribtion for RTD

  `frequencyresponse`(omegas)
    Parameters
      omegasndarray

        frequencies at which to evaluate magnitude response

    Returns
      magnitudendarray

        frequency magnitude response at omegas

  `funnelplot`(times, disturbances)

    Return maximum output signal due to square disturbances.

    Uses method from [Garcia] . Also returns meshgrid for times and disturbance inputs for ease of plotting.

    Parameters
      timesarray_like, size m

        Times to determine funnelplot

      disturbancesarray_like, size n

        Disturbance magnitudes

    Returns
      x2D meshgrid size (mxn)

        times

      y2D meshgrid size (mxn)

        disturbances

      response2D meshgrid size (mxn)

        maximum response at (x,y)

    References

    Garcia

      Garcia-Munoz S., Butterbaugh A., Leavesley I., Manley L.F., Slade D., Bermingham S. (2018) A flowhseet model for the development of a continuous process for pharmaceutical tablets: An industrial perspective. “AIChE Journal”, 64(2), 511-525.

  `integral`()

    Integral of RTD.

  `mrt`()

    Mean residence time of RTD.

  property `n`

    Number of CSTRS in series.

  `output`(inputtime, inputsignal)

    Convolves input signal with RTD

    Parameters
      inputtimendarray

        Times of input signal, which must have same dt as RTD. Size m

      inputsignalndarray

        Input signal. Size n

    Returns
      outputsignalndarrary

        Output signal at same dt. Size m + n -1

  `sigma`()

    Variance of RTD.

  property `stepresponse`

    Step respose of RTD

  property `stepresponse_norm`

    Normalized step respose of RTD

  property `tau`

    Mean Residence Time of all tanks combined.

  property `time`

    Time points for exitage function.

  property `time_end`

    Last time point for RTD