# Simulating experimental data¶

## Creating a simulation¶

Once users have selected a product (and optionally some experimental data), they can begin simulating the chromatography process (and optionally calibrating models) to describe how product components transport through columns and bind to the resin beads. This is done by creating a simulation that is built assuming a specific transport model and a binding model.

This simulation can be used to predict the chromatograms and performances of a given chromatography setup (method , system , ...), a process that is useful to find the optimal setup, or study its stability. This workflow is useful to implement a virtual “process optimization” and “process characterization”.

Alternatively, users can compare these simulation’s chromatograms to available experimental data to evaluate how accurate the specified transport and binding models are, a workflow also called “model calibration”.

This document goes over Creating new binding and transport models, and then creating and running simulations, built either from an experiment or from Study Data elements.

## Creating new binding and transport models¶

No simulation can be created without a way to describe how each modeled component travels through the beads and columns and how they bind to resin beads. These assumptions are encapsulated in the transport model and a binding model so users will need to create binding and transport models and add them as new Study Data. To do so, right-click on the Transport models folder in the either the Study or User Data browser and and select Create New...:

A new window will appear, allowing the user to configure the transport model. Reveal Chromatography currently only supports the General Rate Model, which describes the transport of a product by a bead porosity, a column porosity, an axial dispersion, and three parameters for each product components. These parameters are the film mass transfer, pore diffusion and surface diffusion:

Click OK.

Note

Instructions on selecting realistic values for these parameters is beyond the scope of the user manual. However, the interested user is referred to existing literature on the topic.

To model the way in which different product components bind to the resin, users must build a binding model in the same way that the transport model was built:

Reveal chromatography currently supports Multi-component Langmuir models, and Steric Mass Action (SMA) models and the Professional Edition also supports pH-dependent versions of these models. The pH-dependent SMA models allow users to define a ka and kd parameters that are exponential functions of the pH:

\begin{align}\begin{aligned}sma\_ka_{\rm effective} = 10^{sma\_ka0 + sma\_ka1 * pH + sma\_ka2 * pH^2}\\sma\_kd_{\rm effective} = 10^{sma\_kd0 + sma\_kd1 * pH + sma\_kd2 * pH^2}\end{aligned}\end{align}

On the other hand, nu and sigma parameters that are linear in its dependence on pH:

\begin{align}\begin{aligned}sma\_nu_{\rm effective} = sma\_nu0 + sma\_nu1 * pH\\sma\_sigma_{\rm effective} = sma\_sigma0 + sma\_sigma1 * pH\end{aligned}\end{align}

Adjust the default values as appropriate, and click OK when finished:

Users can double-click on the newly made binding and transport models in the tree view to review their details in the central pane.

## Building a new simulation from an Experiment¶

Assuming that one is trying to reproduce an existing chromatography experiment and that at least one transport model and one binding model are available, a simulation of the experiment can be attempted. To do so, navigate to File > New > New Simulation from Experiment:

A new window will appear. Users should select the experiment off of which they would like to base the simulation:

Next, users also need to specify the method steps with which they would like the simulation to begin and end. A constraint is currently in effect regarding this start method step. If a user is trying to have simulated chromatogram align with the source experiment, the start step should be the experimental step used during experimental file loading as the time of origin. For the stop step, any step can be selected as long as the pooling step is included in the simulation. These constraints will be relaxed in future versions of Reveal Chromatography.

The next field to (optionally) provide is “Override initial buffer with”, which allows to specify the initial buffer. Most users will want to leave that blank. Then, Reveal Chromatography will use the buffer from the step immediately prior to the first simulated step.

Users may wish to enter a different value if they wish to simulate the entirety of their experimental method. In this case, the initial buffer cannot be read off of the step prior to the first step, as there is none. That may require to manually create a new buffer prior to creating the simulation.

Another possible situation where this parameter may need to be specified is if the buffer used in the step before the start of the simulation doesn’t accurately describe the state of the column at t=0. That may happen if for example the step before the first one to be simulated was very short, and its buffer’s properties (for e.g. its pH) hasn’t equilibrated in the column.

Finally, users should select their desired binding and transport models. The default values can be used for the remaining simulation components (Solver parameters and Discretization parameters).

Users can click OK to close the window and create the simulation:

Once a simulation has been created, the user can find it in the study data and double-click on the simulation to view and review its parameters and components in the central pane. There, some parameters such as the simulation’s description or its CADET specific parameters (Solver and Discretization parameters, such as the spacial or temporal resolution of the solver, or the number of threads to use).

Also, users will see that the new simulation has been added to the performance parameters pane, though all performance metrics will remain blank until the simulation is run.

Note

Users can create multiple simulations by selecting multiple source experiments from which to create the simulations, as long as they all share the same first and last step, and binding, and transport models.

## Building a new simulation from study data elements¶

Users can also create a simulation without the use of an experiment. In this case, users will need to create or select all needed elements (column, system, buffers, loads, method, transport model and binding model) from the study data. See Contributing new data elements for details on how to contribute data elements to study and user data sources.

Once the desired elements have been created, go to File > New Simulation. This will open a new window where users can specify:

• the column and system used,
• the method step with which the simulation will begin and end,
• the buffer the column was equilibrated in before the start step,
• the binding, and transport models,
• the solver and discretization models.

Once all parameters are picked, clicking OK will trigger the actual creation of the simulation, and its availability in the list of Study’s simulations. It is now ready to run...

## Running a simulation¶

Now that the simulation is created, and present inside the Simulations folder of the Study Data browser, running the CADET solver on the simulation is simple. Right-click on the simulation, and select Run Simulation...:

The simulation will take a few moments to run in the background, and once completed, will trigger an update of the performance parameters pane.

Alternatively, multiple simulations can be launched at the same time, using the Tools menu: Tools > Run Simulations (or Ctrl-R):

A window will popup, allowing the user to select one or more simulations among the existing ones. Select multiple simulations by pressing the control key and clicking on all the desired simulations:

Clicking OK will trigger all simulations to be submitted to the CADET solver.

Note

Since Reveal Chromatography can run simulations in parallel, it is faster to launch multiple simulation runs at once, as long as your machine possesses more than one processor.