ExperimentMeasureViscosity
ExperimentMeasureViscosity[Samples]⟹Protocol
generates a Protocol for measuring the viscosity of the provided Samples.
Viscosity is a measure of a fluid’s resistance to deformation at a given rate, measured as the ratio of shear stress to shear rate. Liquids with high viscosities have a lot of internal friction, and, as a result, flow much slower than liquids with lower viscosities. There are two measures of a fluid's's viscosity: dynamic (absolute) and kinematic viscosities. Dynamic viscosity (Force*Time per unit Area, units: milli Pascal-second, or Poise) is the measure of a fluid’s internal friction and is defined as the tangential force per unit area needed to create a unit velocity gradient across a unit distance of the fluid. Kinematic viscosity is the ratio of dynamic viscosity to the fluid's density (units: Meter squared per Second, Stoke) and describes the fluid's ability to transport momentum. Factors that affect a fluid's viscosity include temperature (increases in temperature generally result in lower viscosities) and shear rate, in the case of non-Newtonian fluids. The viscometer at the ECL measures dynamic viscosity at specified temperatures and shear rates.
Experimental Principles
Figure 1.1: Procedural overview of a MeasureViscosity experiment. Step 1: Samples are centrifuged to remove air bubbles. Step 2. Samples are loaded onto the instrument. An autosampler loads a specified volume of sample into the measurement chip at a specified flow rate. The chip is held at the set measurement temperature. Step 3: As the sample flows through the chip, there is a pressure drop along the channel of the measurement channel, with more viscous samples leading to larger pressure drops. The pressure is recorded at various positions in the channel. Following measurements, the sample is either recouped or discarded, and the tubing and measurement chip are cleaned. Step 4: The dynamic (absolute) viscosity is automatically calculated by taking the ratio of the shear stress (calculated from the slope of a line fitted to the pressure vs. channel position data) to shear rate (calculated from channel dimensions and flow rate).
Instrumentation
Rheosense VROC Initium
Figure 2.1: Instrument schematic of the RheoSense VROC Initium viscometer used to measure a sample's dynamic (absolute viscosity). Samples to be measured are loaded into a temperature-controlled sample holding tray. A robotic autosampler removes the sample from the container and injects it into a 100 uL syringe. A syringe pump injects 26 - 90 uL of the sample into the measurement chip at specified flow rates and temperatures. The shear rate is calculated based on the dimensions of the flow channel of the microfluidic measurement chip. Three VROC measurement chips are available for measuring low-medium viscosity samples, high viscosity samples, and for measuring at high shear rates. Each measurement chip has a maximum pressure rating and fixed channel dimensions. As the sample flows through the measurement channel, there is a pressure drop along the length of the channel, with the slope of the pressure vs. position curve correlating to the shear stress. The shear rate is determined based on the channel dimensions and flow rate. Absolute viscosity is calculated by taking the ratio of shear stress to shear rate. Standard measurement protocols can be run for low and high viscosity samples. Custom measurement protocols may also be specified, with each measurement segment having a specified flow rate, measurement time, and temperature (or the same settings if repeated measurements are desired). For samples with unknown viscosities, a temperature and/or shear rate sweep may be performed. Viscosities for Non-Newtonian samples can be calculated by applying a correction to viscosities measured at a minimum of three different shear rates. At the conclusion of the measurement run, the injected sample may optionally be recouped by flowing the sample back into the injection syringe and transferring back into the original sample container or into a new container. The instrument automatically cleans the measurement chip and all tubing with three solvents (primary detergent solution compatible with the sample, secondary solvent compatible with the primary solvent, and a tertiary dry-enhancing solvent to remove cleaning agents). All cleaning solvents and the samples, if not recouped, are directed into a waste container.
Experiment Options
General
Instrument
The viscometer that is used to measure the viscosity of the sample. The available instrument measures pressure drops across a rectangular slit in a microlfuid chip as a sample is pumped though to calculate viscosity.
Pattern Description: An object of type or subtype Model[Instrument, Viscometer] or Object[Instrument, Viscometer]
AssayType
The general experiment method that will be used to measure the viscosity of the sample. LowViscosity AssayType is intended for samples with viscosities between 0.3 and 150 m*Pa*s. HighViscositiy AssayType is intended for samples with viscositiies between 100 and 1000 m*Pa*s. HighShearRate AssayType will conduct measurements at high shear rates for samples with viscosities between 1 m*Pa*s and 150 m*Pa*s.
ViscometerChip
The microfluidic device of known dimensionsthat is used to measure the viscosity of sample by flowing the sample through a measurement channel containing pressure sensors.
Default Calculation: LowViscosity AssayType defaults to the B05 chip, HighViscosity AssayType defaults to the C05 chip, HighShearRate defaults to the E02 chip.
Pattern Description: An object of type or subtype Model[Part, ViscometerChip] or Object[Part, ViscometerChip]
Programmatic Pattern: ObjectP[{Model[Part, ViscometerChip], Object[Part, ViscometerChip]}] | Automatic
NumberOfReplicates
The number of times each sample will be injected into the viscometer and meausred using the specified MeasurementMethodTable.
RecoupSample
Indicates if the sample injected into the instrument will be recovered, or alternatively, discarded, at the conclusion of the measurement.
RecoupSampleContainerSame
Indicates if the recouped sample will be transferred back into the original container or well or a new container or well upon completion of the measurements.
Default Calculation: Defaults to the original sample container or well if RecoupSample is set to True but RecoupSampleContainer is not specified.
Autosampler
SampleTemperature
The temperature of the instrument's autosampler tray where samples are stored while awaiting measurement.
Pattern Description: Ambient or greater than or equal to 4 degrees Celsius and less than or equal to 40 degrees Celsius.
AutosamplerPrePressurization
Indicates if the autosampler syringe should inject air into the dead volume of the sample container to help reduce air bubble formation during sample pick-up. If set to True, the autosampler syringe will aspirate air before puncturing the sample container septum and then inject air into the dead volume of the container to increase pressure.
InjectionVolume
The volume of sample that is dispensed from the Autosampler syringe into the chip injection syringe for viscosity measurements.
Default Calculation: Defaults to the largest InjectionVolume possible based on the given sample's volume.
Pattern Description: _?(EqualQ[#1, 26 microliters] & ), _?(EqualQ[#1, 35 microliters] & ), _?(EqualQ[#1, 50 microliters] & ), or _?(EqualQ[#1, 90 microliters] & )
Programmatic Pattern: (EqualP[26*Microliter] | EqualP[35*Microliter] | EqualP[50*Microliter] | EqualP[90*Microliter]) | Automatic
Measurement
Priming
Indicates if the measurement chip's channels will be initially wetted with the sample prior to measurements. Priming is recommended as the first step in a measurement method and prior to measurements at a new MeasurementTemperature. By default, a priming step is included for the Automatic MeasurementMethod, before each new MeasurementTemperature if TemperatureSweep is selected, and for the RelativePressureSweep MeasurementMethod.
Default Calculation: If set as True, this will add a Priming Step at the beginning of each measurement method, and before each new MeasurementTemperature.
MeasurementMethod
Indicates the type of measurement and the subset of parameters that will be determined by the instrument during the measurement. For samples with unknown properties, 'Optimize' may be used. 'Optimize' will run a method that determines the FlowRate (shear rate) that results in a 50% pressure drop across the measurement channel relative to the maximum pressure rating of the selected ViscometerChip. The EquilibrationTime and MeasurementTime are then automatically calculated and the instrument will then make 10 measurements at the optimized FlowRate, equilibrationTime, and MeasurementTime.
To conduct a TemperatureSweep, Priming should be set as True, and multiple MeasurementTemperatures should be indicated. Since viscosity is temperature-dependent, the FlowRate should be left as Null to allow the instrument to determine an appropriate value (the FlowRate that results in a pressure drop that is 50% of the maximum pressure rating of the chip) at each MeasurementTemperature.
Shear rate sweeps may be conducted by specifying the flow rates to conduct measurements (FlowRateSweep) or by specifying the relative pressures (RelativePressureSeweep). To conduct a FlowRateSweep, multiple FlowRates should be indicated. Shear rate is calculated using the flow rate and geometry of the channel. To conduct a RelativePressureSweep, multiple RelativePressures (specified as percentages) should be specified. RelativePressures may be specified to ensure that a shear rate sweep is conducted within the dynamic range of the chip.
Selecting a Custom MeasurementMethod enables any combination of measurement parameters to be selected. If this option is selected, please enter all measurement parameters into the MeasurementMethodTable Option.
TemperatureStabilityMargin
Indicates the maximum allowable deviation from the MeasurementTemperature before initiating a measurement.
TemperatureStabilityTime
Indicates the time that the instrument has to be held at the MeasurementTemperature +/- TemperatureStabilityMargin before a measurement step is started.
MeasurementTemperature
Pattern Description: Ambient or greater than or equal to 4 degrees Celsius and less than or equal to 70 degrees Celsius or list of one or more Ambient or greater than or equal to 4 degrees Celsius and less than or equal to 70 degrees Celsius entries.
Programmatic Pattern: (Ambient | RangeP[4*Celsius, 70*Celsius]) | {(Ambient | RangeP[4*Celsius, 70*Celsius])..}
FlowRate
Indicates the volumetric rate at which the sample is pumped through the measurement channel of the chip.
Default Calculation: Defaults to Null if MeasurementMethod is 'Automatic' or 'TemperatureSweep'. Defaults to 20 Microliter/Minute if another MeasurementMethod is specified.
Pattern Description: Greater than or equal to 0.5 microliters per minute and less than or equal to 1200 microliters per minute or list of one or more greater than or equal to 0.5 microliters per minute and less than or equal to 1200 microliters per minute entries or Null.
Programmatic Pattern: ((RangeP[0.5*(Microliter/Minute), 1200*(Microliter/Minute)] | {RangeP[0.5*(Microliter/Minute), 1200*(Microliter/Minute)]..}) | Automatic) | Null
RelativePressure
Indicates the pressure(s), as a percentage of the chip's maximum pressure, that the instrument should achieve when flowing sample through the measurement channel. The instrument will automatically adjust the flow rate (which directly affects the shear rate) to reach the indicated RelativePressure(s). Specifiying TargetPressures will allow the instrument to optimize FlowRate (ShearRate) settings for shear rate sweeps in a particular chip if the viscosity of the sample is unknown. To use this option, the Priming option must be set to True in order to allow the instrument to sufficiently wet the measurement channel.
Default Calculation: Resolves to Null if MeasurementMethod is 'Optimize', 'TemperatureSweep', or 'Custom'. Resolves to {10 Percent, 25 Percent, 50 Percent, 75 Percent, 90 Percent} if RelativePressureSweep is specified and no FlowRates are specified.
Pattern Description: Greater than or equal to 5 percent and less than or equal to 90 percent or list of one or more greater than or equal to 5 percent and less than or equal to 90 percent entries or Null.
Programmatic Pattern: ((RangeP[5*Percent, 90*Percent] | {RangeP[5*Percent, 90*Percent]..}) | Automatic) | Null
EquilibrationTime
Indicates the amount of time during which the instrument is flowing the sample through the measurement channel to develop a steady-state flow profile prior to collecting the data used to determine the average viscosity.
Default Calculation: Defaults to Null if MeasurementMethod is 'Exploratory' or 'TemperatureSweep'. For low-medium viscosity samples, 3 seconds is sufficient. For Flow rates < 10 MicroLiter/Minute, 5-10 seconds is sufficient. For samll volumes of samples with FlowRates > 50 Microliter/Minute, 2 seconds is sufficient. For flow rates > 300 Microliter/Minute, 1 second is sufficient
Pattern Description: Greater than or equal to 0 seconds and less than or equal to 10 minutes or list of one or more greater than or equal to 0 seconds and less than or equal to 60 minutes entries or Null.
Programmatic Pattern: ((RangeP[0*Second, 10*Minute] | {RangeP[0*Second, 60*Minute]..}) | Automatic) | Null
MeasurementTime
Indicates the amount of time the instrument flows sample through the measurement channel and collects data that is used to determine the average viscosity.
Default Calculation: Defaults to Null if MeasurementMethod is 'Exploratory' or 'TemperatureSweep'. For FlowRates < 1 MicroLiter/Minute, at least 20 seconds is recommended. For FlowRates > 100 MicroLiter/Minute, 1-2 seconds is sufficient.
Pattern Description: Greater than or equal to 0 seconds and less than or equal to 10 minutes or list of one or more greater than or equal to 0 seconds and less than or equal to 60 minutes entries or Null.
Programmatic Pattern: ((RangeP[0*Second, 10*Minute] | {RangeP[0*Second, 60*Minute]..}) | Automatic) | Null
PauseTime
Indicates the amount of time that the instrument waits between each measurement step to allow for sample relaxation. For samples with significant thixotropic behavior (requires finite time to obtain an equilibrium viscosity), a PauseTime between 10-20 seconds is recommended.
Default Calculation: Defaults to Null if MeasurementMethod is 'Exploratory' or 0 Second for all other type of MeasurementMethod. For samples with thixotropic (time-dependent shear thinning) behavior, 10-20 seconds is recommended to allow for samples to relax.
Pattern Description: Greater than or equal to 0 seconds and less than or equal to 45 minutes or Null.
NumberOfReadings
Indicates the number of times measurements are taken with each set of MeasurementTemperature, FlowRate, EquilibrationTime, and MeasurementTime. Unlike NumberOfReplicates, the instrument will not reinject sample into the measurement chip.
Default Calculation: Defaults to 10 if MeasurementMethod is 'Exploratory'. Otherwise will default to 3 Measurements for all unique sets of MeasurementTemperature, FlowRate, EqulibrationTime, and MeasurementTime, excluding any priming steps.
MeasurementMethodTable
The complete list of measurement parameters that will be used to characterize a sample's viscosity for each injection.
Default Calculation: Automatically set from the measurement method options listed above. Any priming steps do not count toward the NumberOfReadings.
Pattern Description: List of one or more {Measurement Temperature, Flow Rate, Relative Pressure, Equilibration Time, Measurement Time, Pause Time, Priming, Number of Readings} entries.
Programmatic Pattern: {{RangeP[4*Celsius, 70*Celsius] | Ambient, RangeP[0.5*(Microliter/Minute), 1200*(Microliter/Minute)] | Null, RangeP[2*Percent, 90*Percent] | Null, RangeP[0*Second, 10*Minute] | (Automatic | Null), RangeP[0*Second, 10*Minute] | (Automatic | Null), RangeP[0*Second, 45*Minute] | (Automatic | Null), BooleanP, GreaterEqualP[0, 1]}..} | Automatic
RemeasurementAllowed
Indicates if the sample will be directed to a holding reservoir after a measurement step and be recycled and sent back in the chip for additional measurements if the InjectionVolume is used up before all steps in the MeasurementMethod are completed.
RemeasurementReloadVolume
Indicates the volume of the sample that will be drawn from the holding reservoir and pumped back into the syringe for more additional measurements if RemeasurementAllowed is set as True and if the InjectionVolume is used up before the measurement method is completed. A RemeasurementReloadVolume of InjectionVolume-12 Microliter is recommended.
Default Calculation: Defaults InjectionVolume - 12 uL or the indicated ReservoirRetrievalVolume, whichever is lower.
Pattern Description: Greater than or equal to 0 microliters and less than or equal to 88 microliters or Null.
Post Experiment
ResidualIncubation
Indicates if the autosampler tray containing the input samples should remain at the set SampleTemperature at the conclusion of measurements for all samples, until the samples are stored.
PrimaryBufferStorageCondition
The non-default conditions under which the PrimaryBuffer of this experiment should be stored after the protocol is completed. If left unset, the PrimaryBuffer will be stored according to their current StorageCondition.
Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
SamplesInStorageCondition
The non-default conditions under which the SamplesIn of this experiment should be stored after the protocol is completed. If left unset, SamplesIn will be stored according to their current StorageCondition.
Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
SamplesOutStorageCondition
The non-default conditions under which any new samples generated by this experiment should be stored after the protocol is completed. If left unset, the new samples will be stored according to their Models' DefaultStorageCondition.
Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
Cleaning
PrimaryBuffer
The first solvent that is used to flush the instrument after a sample has been measured and before measuring the next sample. The PrimaryBuffer should be the principle solvent of all samples being measured and is used to dilute out any dissovled components in the samples. Samples should be miscible in the PrimaryBuffer. Standard methods will be used to flush the instrument with the PrimaryBuffer.
Default Calculation: Automatic will resolve to the Model[Sample] in the Sample's Solvent field. If no values are present in the Solvent field, this will default to PBS.
Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample.
Model Input
PreparedModelAmount
Indicates the amount of a Model[Sample] specified as input to the experiment function that will be prepared in the PreparedModelContainer. When set to All and the input model sample is not preparable, the entire amount of the input model sample that comes from one of the Products is prepared. The selected product must have both Amount and DefaultContainerModel populated, and it must not be a KitProduct. When set to All and the input model is preparable such as water, 1 Milliliter of the input model sample is prepared.
Programmatic Pattern: ((Null | (RangeP[1*Microliter, 20*Liter] | RangeP[1*Milligram, 20*Kilogram] | GreaterP[0*Unit, 1*Unit] | GreaterP[0., 1.] | All)) | Automatic) | Null
PreparedModelContainer
Indicates the container in which a Model[Sample] specified as input to the experiment function will be prepared.
Default Calculation: If PreparedModelAmount is set to All and the input model has a product associated with both Amount and DefaultContainerModel populated, automatically set to the DefaultContainerModel value in the product. Otherwise, automatically set to Model[Container, Vessel, "1mL HPLC Vial (total recovery) with Cap and PTFE/Silicone Septum"].
Sample Prep Options
Sample Preparation
PreparatoryUnitOperations
Specifies a sequence of transferring, aliquoting, consolidating, or mixing of new or existing samples before the main experiment. These prepared samples can be used in the main experiment by referencing their defined name. For more information, please reference the documentation for ExperimentSamplePreparation.
Pattern Description: List of one or more unit Operation ManualSamplePreparation or RoboticSamplePreparation or unit Operation must match SamplePreparationP entries or Null.
Programmatic Pattern: {((ManualSamplePreparationMethodP | RoboticSamplePreparationMethodP) | SamplePreparationP)..} | Null
Preparatory Incubation
Incubate
Indicates if the SamplesIn should be incubated at a fixed temperature prior to starting the experiment or any aliquoting. Sample Preparation occurs in the order of Incubation, Centrifugation, Filtration, and then Aliquoting (if specified).
Default Calculation: Resolves to True if any of the corresponding Incubation options are set. Otherwise, resolves to False.
IncubationTemperature
Temperature at which the SamplesIn should be incubated for the duration of the IncubationTime prior to starting the experiment.
Pattern Description: Ambient or greater than or equal to -20 degrees Celsius and less than or equal to 500 degrees Celsius or Null.
Programmatic Pattern: ((Ambient | RangeP[$MinIncubationTemperature, $MaxIncubationTemperature]) | Automatic) | Null
IncubationTime
Duration for which SamplesIn should be incubated at the IncubationTemperature, prior to starting the experiment.
Mix
Default Calculation: Automatically resolves to True if any Mix related options are set. Otherwise, resolves to False.
MixType
Default Calculation: Automatically resolves based on the container of the sample and the Mix option.
Pattern Description: Roll, Vortex, Sonicate, Pipette, Invert, Stir, Shake, Homogenize, Swirl, Disrupt, or Nutate or Null.
MixUntilDissolved
Indicates if the mix should be continued up to the MaxIncubationTime or MaxNumberOfMixes (chosen according to the mix Type), in an attempt dissolve any solute. Any mixing/incubation will occur prior to starting the experiment.
Default Calculation: Automatically resolves to True if MaxIncubationTime or MaxNumberOfMixes is set.
MaxIncubationTime
Maximum duration of time for which the samples will be mixed while incubated in an attempt to dissolve any solute, if the MixUntilDissolved option is chosen. This occurs prior to starting the experiment.
Default Calculation: Automatically resolves based on MixType, MixUntilDissolved, and the container of the given sample.
IncubationInstrument
Default Calculation: Automatically resolves based on the options Mix, Temperature, MixType and container of the sample.
Pattern Description: An object of type or subtype Model[Instrument, Roller], Model[Instrument, OverheadStirrer], Model[Instrument, Vortex], Model[Instrument, Shaker], Model[Instrument, BottleRoller], Model[Instrument, Roller], Model[Instrument, Sonicator], Model[Instrument, HeatBlock], Model[Instrument, Homogenizer], Model[Instrument, Disruptor], Model[Instrument, Nutator], Model[Instrument, Thermocycler], Model[Instrument, EnvironmentalChamber], Model[Instrument, Pipette], Object[Instrument, Roller], Object[Instrument, OverheadStirrer], Object[Instrument, Vortex], Object[Instrument, Shaker], Object[Instrument, BottleRoller], Object[Instrument, Roller], Object[Instrument, Sonicator], Object[Instrument, HeatBlock], Object[Instrument, Homogenizer], Object[Instrument, Disruptor], Object[Instrument, Nutator], Object[Instrument, Thermocycler], Object[Instrument, EnvironmentalChamber], or Object[Instrument, Pipette] or Null.
AnnealingTime
Minimum duration for which the SamplesIn should remain in the incubator allowing the system to settle to room temperature after the IncubationTime has passed but prior to starting the experiment.
IncubateAliquotContainer
The desired type of container that should be used to prepare and house the incubation samples which should be used in lieu of the SamplesIn for the experiment.
Programmatic Pattern: ((ObjectP[Model[Container]] | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
IncubateAliquotDestinationWell
The desired position in the corresponding IncubateAliquotContainer in which the aliquot samples will be placed.
Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
IncubateAliquot
The amount of each sample that should be transferred from the SamplesIn into the IncubateAliquotContainer when performing an aliquot before incubation.
Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container.
Pattern Description: All or greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
Preparatory Centrifugation
Centrifuge
Indicates if the SamplesIn should be centrifuged prior to starting the experiment or any aliquoting. Sample Preparation occurs in the order of Incubation, Centrifugation, Filtration, and then Aliquoting (if specified).
Default Calculation: Resolves to True if any of the corresponding Centrifuge options are set. Otherwise, resolves to False.
CentrifugeInstrument
Pattern Description: An object of type or subtype Model[Instrument, Centrifuge] or Object[Instrument, Centrifuge] or Null.
Programmatic Pattern: (ObjectP[{Model[Instrument, Centrifuge], Object[Instrument, Centrifuge]}] | Automatic) | Null
CentrifugeIntensity
The rotational speed or the force that will be applied to the samples by centrifugation prior to starting the experiment.
Pattern Description: Greater than 0 revolutions per minute or greater than 0 standard accelerations due to gravity on the surface of the earth or Null.
Programmatic Pattern: ((GreaterP[0*RPM] | GreaterP[0*GravitationalAcceleration]) | Automatic) | Null
CentrifugeTime
CentrifugeTemperature
The temperature at which the centrifuge chamber should be held while the samples are being centrifuged prior to starting the experiment.
Pattern Description: Ambient or greater than or equal to -10 degrees Celsius and less than or equal to 40 degrees Celsius or Null.
CentrifugeAliquotContainer
The desired type of container that should be used to prepare and house the centrifuge samples which should be used in lieu of the SamplesIn for the experiment.
Programmatic Pattern: ((ObjectP[Model[Container]] | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
CentrifugeAliquotDestinationWell
The desired position in the corresponding AliquotContainer in which the aliquot samples will be placed.
Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
CentrifugeAliquot
The amount of each sample that should be transferred from the SamplesIn into the CentrifugeAliquotContainer when performing an aliquot before centrifugation.
Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container.
Pattern Description: All or greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
Preparatory Filtering
Filtration
Indicates if the SamplesIn should be filter prior to starting the experiment or any aliquoting. Sample Preparation occurs in the order of Incubation, Centrifugation, Filtration, and then Aliquoting (if specified).
Default Calculation: Resolves to True if any of the corresponding Filter options are set. Otherwise, resolves to False.
FiltrationType
Default Calculation: Will automatically resolve to a filtration type appropriate for the volume of sample being filtered.
FilterInstrument
Default Calculation: Will automatically resolved to an instrument appropriate for the filtration type.
Pattern Description: An object of type or subtype Model[Instrument, FilterBlock], Object[Instrument, FilterBlock], Model[Instrument, PeristalticPump], Object[Instrument, PeristalticPump], Model[Instrument, VacuumPump], Object[Instrument, VacuumPump], Model[Instrument, Centrifuge], Object[Instrument, Centrifuge], Model[Instrument, SyringePump], or Object[Instrument, SyringePump] or Null.
Programmatic Pattern: (ObjectP[{Model[Instrument, FilterBlock], Object[Instrument, FilterBlock], Model[Instrument, PeristalticPump], Object[Instrument, PeristalticPump], Model[Instrument, VacuumPump], Object[Instrument, VacuumPump], Model[Instrument, Centrifuge], Object[Instrument, Centrifuge], Model[Instrument, SyringePump], Object[Instrument, SyringePump]}] | Automatic) | Null
Filter
The filter that should be used to remove impurities from the SamplesIn prior to starting the experiment.
Default Calculation: Will automatically resolve to a filter appropriate for the filtration type and instrument.
Pattern Description: An object of type or subtype Model[Container, Plate, Filter], Model[Container, Vessel, Filter], or Model[Item, Filter] or Null.
Programmatic Pattern: (ObjectP[{Model[Container, Plate, Filter], Model[Container, Vessel, Filter], Model[Item, Filter]}] | Automatic) | Null
FilterMaterial
The membrane material of the filter that should be used to remove impurities from the SamplesIn prior to starting the experiment.
Default Calculation: Resolves to an appropriate filter material for the given sample is Filtration is set to True.
Pattern Description: Cellulose, Cotton, Polyethylene, Polypropylene, PTFE, Nylon, PES, PLUS, PVDF, GlassFiber, GHP, UHMWPE, EPDM, DuraporePVDF, GxF, ZebaDesaltingResin, NickelResin, AgaroseResin, CobaltResin, Silica, HLB, or AnoporeAlumina or Null.
PrefilterMaterial
The material from which the prefilter filtration membrane should be made of to remove impurities from the SamplesIn prior to starting the experiment.
Pattern Description: Cellulose, Cotton, Polyethylene, Polypropylene, PTFE, Nylon, PES, PLUS, PVDF, GlassFiber, GHP, UHMWPE, EPDM, DuraporePVDF, GxF, ZebaDesaltingResin, NickelResin, AgaroseResin, CobaltResin, Silica, HLB, or AnoporeAlumina or Null.
FilterPoreSize
The pore size of the filter that should be used when removing impurities from the SamplesIn prior to starting the experiment.
Default Calculation: Resolves to an appropriate filter pore size for the given sample is Filtration is set to True.
Pattern Description: 0.008 micrometers, 0.02 micrometers, 0.1 micrometers, 0.2 micrometers, 0.22 micrometers, 0.45 micrometers, 1. micrometer, 1.1 micrometers, 2.5 micrometers, 6. micrometers, 20. micrometers, 30. micrometers, or 100. micrometers or Null.
PrefilterPoreSize
The pore size of the filter; all particles larger than this should be removed during the filtration.
Pattern Description: 0.008 micrometers, 0.02 micrometers, 0.1 micrometers, 0.2 micrometers, 0.22 micrometers, 0.45 micrometers, 1. micrometer, 1.1 micrometers, 2.5 micrometers, 6. micrometers, 20. micrometers, 30. micrometers, or 100. micrometers or Null.
FilterSyringe
Default Calculation: Resolves to an syringe appropriate to the volume of sample being filtered, if Filtration is set to True.
Pattern Description: An object of type or subtype Model[Container, Syringe] or Object[Container, Syringe] or a prepared sample or Null.
Programmatic Pattern: ((ObjectP[{Model[Container, Syringe], Object[Container, Syringe]}] | _String) | Automatic) | Null
FilterHousing
The filter housing that should be used to hold the filter membrane when filtration is performed using a standalone filter membrane.
Default Calculation: Resolve to an housing capable of holding the size of the membrane being used, if filter with Membrane FilterType is being used and Filtration is set to True.
Pattern Description: An object of type or subtype Model[Instrument, FilterHousing], Object[Instrument, FilterHousing], Model[Instrument, FilterBlock], or Object[Instrument, FilterBlock] or Null.
Programmatic Pattern: (ObjectP[{Model[Instrument, FilterHousing], Object[Instrument, FilterHousing], Model[Instrument, FilterBlock], Object[Instrument, FilterBlock]}] | Automatic) | Null
FilterIntensity
Default Calculation: Will automatically resolve to 2000 GravitationalAcceleration if FiltrationType is Centrifuge and Filtration is True.
Pattern Description: Greater than 0 revolutions per minute or greater than 0 standard accelerations due to gravity on the surface of the earth or Null.
Programmatic Pattern: ((GreaterP[0*RPM] | GreaterP[0*GravitationalAcceleration]) | Automatic) | Null
FilterTime
Default Calculation: Will automatically resolve to 5 Minute if FiltrationType is Centrifuge and Filtration is True.
FilterTemperature
The temperature at which the centrifuge chamber will be held while the samples are being centrifuged during filtration.
Default Calculation: Will automatically resolve to 22 Celsius if FiltrationType is Centrifuge and Filtration is True.
FilterContainerOut
The desired container filtered samples should be produced in or transferred into by the end of filtration, with indices indicating grouping of samples in the same plates, if desired.
Default Calculation: Automatically set as the PreferredContainer for the Volume of the sample. For plates, attempts to fill all wells of a single plate with the same model before using another one.
Pattern Description: An object of type or subtype Model[Container] or Object[Container] or a prepared sample or {Index, Container} or Null.
Programmatic Pattern: (((ObjectP[{Model[Container], Object[Container]}] | _String) | {GreaterEqualP[1, 1] | Automatic, (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
FilterAliquotDestinationWell
The desired position in the corresponding AliquotContainer in which the aliquot samples will be placed.
Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
FilterAliquotContainer
The desired type of container that should be used to prepare and house the filter samples which should be used in lieu of the SamplesIn for the experiment.
Programmatic Pattern: ((ObjectP[Model[Container]] | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | Automatic}) | Automatic) | Null
FilterAliquot
The amount of each sample that should be transferred from the SamplesIn into the FilterAliquotContainer when performing an aliquot before filtration.
Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container.
Pattern Description: All or greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
FilterSterile
Default Calculation: Resolve to False if Filtration is indicated. If sterile filtration is desired, this option must manually be set to True.
Aliquoting
Aliquot
Indicates if aliquots should be taken from the SamplesIn and transferred into new AliquotSamples used in lieu of the SamplesIn for the experiment. Note that if NumberOfReplicates is specified this indicates that the input samples will also be aliquoted that number of times. Note that Aliquoting (if specified) occurs after any Sample Preparation (if specified).
AliquotAmount
Default Calculation: Automatically set as the smaller between the current sample volume and the maximum volume of the destination container if a liquid, or the current Mass or Count if a solid or counted item, respectively.
Programmatic Pattern: ((RangeP[1*Microliter, 20*Liter] | RangeP[1*Milligram, 20*Kilogram] | GreaterP[0*Unit, 1*Unit] | GreaterP[0., 1.] | All) | Automatic) | Null
TargetConcentration
The desired final concentration of analyte in the AliquotSamples after dilution of aliquots of SamplesIn with the ConcentratedBuffer and BufferDiluent which should be used in lieu of the SamplesIn for the experiment.
TargetConcentrationAnalyte
Default Calculation: Automatically set to the first value in the Analytes field of the input sample, or, if not populated, to the first analyte in the Composition field of the input sample, or if none exist, the first identity model of any kind in the Composition field.
Pattern Description: An object of type or subtype Model[Molecule], Model[Molecule, cDNA], Model[Molecule, Oligomer], Model[Molecule, Transcript], Model[Molecule, Protein], Model[Molecule, Protein, Antibody], Model[Molecule, Carbohydrate], Model[Molecule, Polymer], Model[Resin], Model[Resin, SolidPhaseSupport], Model[Lysate], Model[ProprietaryFormulation], Model[Virus], Model[Cell], Model[Cell, Mammalian], Model[Cell, Bacteria], Model[Cell, Yeast], Model[Tissue], Model[Material], or Model[Species] or Null.
AssayVolume
Default Calculation: Automatically determined based on Volume and TargetConcentration option values.
Pattern Description: Greater than or equal to 1 microliter and less than or equal to 20 liters or Null.
ConcentratedBuffer
The concentrated buffer which should be diluted by the BufferDilutionFactor in the final solution (i.e., the combination of the sample, ConcentratedBuffer, and BufferDiluent). The ConcentratedBuffer and BufferDiluent will be combined and then mixed with the sample, where the combined volume of these buffers is the difference between the AliquotAmount and the total AssayVolume.
Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
BufferDilutionFactor
The dilution factor by which the concentrated buffer should be diluted in the final solution (i.e., the combination of the sample, ConcentratedBuffer, and BufferDiluent). The ConcentratedBuffer and BufferDiluent will be combined and then mixed with the sample, where the combined volume of these buffers is the difference between the AliquotAmount and the total AssayVolume.
Default Calculation: If ConcentratedBuffer is specified, automatically set to the ConcentratedBufferDilutionFactor of that sample; otherwise, set to Null.
BufferDiluent
The buffer used to dilute the aliquot sample such that ConcentratedBuffer is diluted by BufferDilutionFactor in the final solution. The ConcentratedBuffer and BufferDiluent will be combined and then mixed with the sample, where the combined volume of these buffers is the difference between the AliquotAmount and the total AssayVolume.
Default Calculation: Automatically resolves to Model[Sample, "Milli-Q water"] if ConcentratedBuffer is specified; otherwise, resolves to Null.
Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
AssayBuffer
The buffer that should be added to any aliquots requiring dilution, where the volume of this buffer added is the difference between the AliquotAmount and the total AssayVolume.
Default Calculation: Automatically resolves to Model[Sample, "Milli-Q water"] if ConcentratedBuffer is not specified; otherwise, resolves to Null.
Pattern Description: An object of type or subtype Model[Sample] or Object[Sample] or a prepared sample or Null.
AliquotSampleStorageCondition
The non-default conditions under which any aliquot samples generated by this experiment should be stored after the protocol is completed.
Pattern Description: {AmbientStorage, EnclosedAmbientStorage, Refrigerator, Freezer, DeepFreezer, CryogenicStorage, YeastIncubation, YeastShakingIncubation, BacterialIncubation, BacterialShakingIncubation, MammalianIncubation, ViralIncubation, CrystalIncubation, AcceleratedTesting, IntermediateTesting, LongTermTesting, UVVisLightTesting} or Disposal or Null.
DestinationWell
The desired position in the corresponding AliquotContainer in which the aliquot samples will be placed.
Default Calculation: Automatically resolves to A1 in containers with only one position. For plates, fills wells in the order provided by the function AllWells.
Pattern Description: Any well from A1 to H12 or list of one or more any well from A1 to H12 or any well from A1 to H12 entries or Null.
Programmatic Pattern: ((WellPositionP | {((Automatic | Null) | WellPositionP)..}) | Automatic) | Null
AliquotContainer
The desired type of container that should be used to prepare and house the aliquot samples, with indices indicating grouping of samples in the same plates, if desired. This option will resolve to be the length of the SamplesIn * NumberOfReplicates.
Default Calculation: Automatically set as the PreferredContainer for the AssayVolume of the sample. For plates, attempts to fill all wells of a single plate with the same model before aliquoting into the next.
Pattern Description: An object of type or subtype Model[Container] or Object[Container] or a prepared sample or Automatic or Null or {Index, Container} or list of one or more an object of type or subtype Model[Container] or Object[Container] or a prepared sample or Automatic or Null entries or list of one or more Automatic or Null or {Index, Container} entries.
Programmatic Pattern: (((ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null) | {GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null)} | {((ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null))..} | {({GreaterEqualP[1, 1] | (Automatic | Null), (ObjectP[{Model[Container], Object[Container]}] | _String) | (Automatic | Null)} | (Automatic | Null))..}) | Automatic) | Null
AliquotPreparation
Default Calculation: Automatic resolution will occur based on manipulation volumes and container types.
ConsolidateAliquots
Protocol Options
Organizational Information
Template
A template protocol whose methodology should be reproduced in running this experiment. Option values will be inherited from the template protocol, but can be individually overridden by directly specifying values for those options to this Experiment function.
Pattern Description: An object of type or subtype Object[Protocol] or an object of type or subtype of Object[Protocol] with UnresolvedOptions, ResolvedOptions specified or Null.
Programmatic Pattern: (ObjectP[Object[Protocol]] | FieldReferenceP[Object[Protocol], {UnresolvedOptions, ResolvedOptions}]) | Null
Name
A object name which should be used to refer to the output object in lieu of an automatically generated ID number.
Post Experiment
MeasureWeight
Indicates if any solid samples that are modified in the course of the experiment should have their weights measured and updated after running the experiment. Please note that public samples are weighed regardless of the value of this option.
MeasureVolume
Indicates if any liquid samples that are modified in the course of the experiment should have their volumes measured and updated after running the experiment. Please note that public samples are volume measured regardless of the value of this option.
ImageSample
Example Calls
Measurement
Specify the ViscosityAssayType for measurement of low- or high- viscosity samples, or measurements at high shear rates:
Prime (wet) the measurement channel as the first step in the measurement method and before any new measurement temperature:
For a single injection into the measurement chip, specify the number of times a measurement will be repeated for all unique sets of MeasurementTemperature and FlowRate:
Post Experiment
Warnings and Errors
Messages (33)
ObjectDoesNotExist (4)
TooManyViscosityInputs (4)
If the AssayType is LowViscosity, no ViscometerChip is specified, and the number of samples is greater than 72, an error is thrown:


If the AssayType is not LowViscosity, no ViscometerChip is specified, and the number of samples is greater than 48, an error is thrown:


If the ViscometerChip specified is Model[Part, ViscometerChip, "Rheosense VROC B05 Viscometer Chip"] and the number of samples is greater than 72, an error is thrown:


If the ViscometerChip specified is Model[Part, ViscometerChip, "Rheosense VROC C05 Viscometer Chip"] and the number of samples is greater than 48, an error is thrown:


ViscosityCustomMeasurementMethodConflicts (1)
ViscosityCustomMeasurementTableNotProvided (1)
ViscosityExploratoryTemperatureSweepParameterError (1)
ViscosityFlowRateEquilibrationTimeMeasurementTimeError (1)
ViscosityFlowRateSweepInsufficientInput (1)
ViscosityFlowRateSweepParameterError (1)
ViscosityIncompatibleSample (1)
ViscosityInsufficientVolume (1)
ViscosityInvalidFlowRateMeasurementTable (1)
ViscosityInvalidPrimeMeasurementTable (1)
ViscosityNotEnoughSampleInjected (1)
ViscosityPressureMeasurementTimeConflict (1)
ViscosityPressureSweepParameterError (1)
ViscosityRecoupSampleConflict (1)
ViscosityRemeasurementAllowedConflict (1)
ViscosityRemeasurementReloadVolumeHigh (1)
ViscosityTemperatureSweepInsufficientInput (1)
ViscosityTooManyRecoupContainers (1)
Possible Issues
Pipetting dead volumes
It is recommended that sample volumes be at least 5-10 uL greater than the injection volume (26μL, 35μL, 50μL, or 90μL) to account for pipetting dead volumes when aliquoting samples into viscometer-compatible containers.
Sample compatibility
The viscometer's wetted materials are {Glass, PEEK, ETFE, Gold, Platinum, Viton, Chrome, Perlast} and the instrument is optimized for measuring protein samples and aqueous non-protein samples. Oil-based samples, including many commercial silicone and mineral oil viscosity standards should not be run on the viscometer due to difficulties in cleaning the wetted components. Sample compatibility will be checked by ExperimentMeasureViscosity and may also be independently checked by calling "CompatibleMaterialsQ[Model[Instrument, Viscometer, "id:eGakldJEY8N4"],mySample]".
RecoupSample volume variability
40-70% of the injected volume of sample may be recovered upon conclusion of the measurements, depending on the sample's viscosity. More viscous samples will generally have lower recovery rates.
Sample evaporation
Sample evaporation may occur when measuring a large number of samples and/or when recouping samples. The viscometer requires approximately 1 hour per sample to complete all measurement and cleaning steps. More volatile samples are recommended to be measured first. A large number of samples can also be split into multiple experiments.
Poor or inconsistent viscosity readings in samples with high surface tension
Poor or inconsistent readings may result if the measurement channel is insufficiently primed. Priming should be set to True to enable channel wetting at the start of each measurement method and before each new measurement temperature. Additionally, samples with high surface tension (e.g. pure water) may have inconsistent viscosity readings due to the measurement channel being insufficently wetted. Priming the channel as the first step is recommended in order to wet the measurement channel, and the NumberOfReadings should be increased for more a more precise average viscosity.
Last modified on Fri 12 Sep 2025 14:56:53