USPatent applicationPatented

Analysis and control of parallel chemical reactions

Granted 3 Dec 2002 · 2 office actions

Current assignee: APTUIT, INC. · originally Symyx Technologies, Inc.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: G. Cameron Dales, Pei Wang · Examiner: Arlen Soderquist · AU 1764 · TC 1700

Application· this page
9239223
filed 29 Jan 1999
Publication
Not published
not published
Patent
US 6,489,168
granted 3 Dec 2002

Life of the application

13 dated events
⤢ drag to zoom19982000200220042006200820102012201420162018ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Computer programs and computer-implemented methods for monitoring the progress and properties of parallel chemical reactions. The invention repeatedly receives a measured value or values associated with the contents of each of a plurality of reactor vessels and displays the measured over the course of a combinatorial chemical reaction. Reaction parameters associated with individual reactor vessels are changed in response to the value measured during the reaction. Reaction parameters include temperature, pressure, stirring speed. The reaction occurring in one or more reactor vessels is quenched in response to values measured during the reaction. The measured values are used to calculate experimental results including temperature change, pressure change, percent conversion of starting material, and viscosity. The measured values and experimental results are displayed. In another aspect, the invention features a method for controlling a combinatorial chemical reactor. The method includes receiving set points for properties associated with the reaction environment in multiple reactor vessels, measuring experimental values associated with each reactor vessel, displaying the experimental values, and changing the vessels\' reaction environment in response to input set points and changing experimental values. In another aspect, the invention features a reactor control system for monitoring and controlling a parallel chemical reaction. The system includes modules for providing control signals to a parallel chemical reactor, receiving measured values from the parallel chemical reactor and calculating experimental results from the measured values, and for receiving reaction parameters from the user and displaying the set of measured values and the calculated values.

Description

11 parts
›CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of commonly assigned, co-pending U.S. patent application Ser. No. 09/211,982, filed Dec. 14, 1998, which is a continuation in part of U.S. application Ser. No. 09/177,170, filed Oct. 22, 1998, which claims the benefit of U.S. Provisional Application No. 60/096,603, filed Aug. 13, 1998. All three of the foregoing applications are incorporated herein by reference in their entirety.

›BACKGROUND OF THE INVENTION

The present invention relates to methods and computer programs for rapidly screening and characterizing an array of materials.

In combinatorial chemistry, a large number of candidate materials are created from a relatively small set of precursors and subsequently evaluated for suitability for a particular application. As currently practiced, combinatorial chemistry permits scientists to explore systematically the influence of structural variations in candidates by dramatically accelerating the rates at which they are created and evaluated. Compared to traditional discovery methods, combinatorial methods sharply reduce the costs associated with preparing and screening each candidate.

Combinatorial chemistry has revolutionized the process of drug discovery. One can view drug discovery as a two-step process: acquiring candidate compounds through laboratory synthesis or through natural products collection, followed by evaluation or screening for efficacy. Pharmaceutical researchers have long used high-throughput screening (HTS) protocols to rapidly evaluate the therapeutic value of natural products and libraries of compounds synthesized and cataloged over many years. However, compared to HTS protocols, chemical synthesis has historically been a slow, arduous process. With the advent of combinatorial methods, scientists can now create large libraries of organic molecules at a pace on par with HTS protocols.

Recently, combinatorial approaches have been used for discovery programs unrelated to drugs. For example, some researchers have recognized that combinatorial strategies also offer promise for the discovery of inorganic compounds such as high-temperature superconductors, magnetoresistive materials, luminescent materials, and catalytic materials. See, for example, co-pending U.S. patent application Ser. No. 08/327,513 “The Combinatorial Synthesis of Novel Materials” (published as WO 96/11878) and co-pending U.S. patent application Ser. No. 08/898,715 “Combinatorial Synthesis and Analysis of Organometallic Compounds and Catalysts” (a version of which has been published as WO 98/03251), which are all incorporated herein by reference.

›SUMMARY OF THE INVENTION

The present invention provides computer programs and computer-implemented methods for monitoring the progress and properties of parallel chemical reactions.

In general, in one aspect, the invention features a method of monitoring a combinatorial chemical reaction. The method includes (a) receiving a measured value associated with the contents of each of a plurality of reactor vessels; (b) storing the measured values in a memory; and (c) repeating steps (a) and (b) multiple times over the course of the combinatorial chemical reaction.

Implementations of the invention can include one or more of the following advantageous features. The measured values include a set of values for a number of reaction conditions associated with each of the reactor vessels. Step (c) is performed at a predetermined sampling rate. The method also includes changing a reaction parameter associated with one of the reactor vessels in response to the measured value to maintain the reactor vessel at a predetermined set point. the reaction condition is temperature. The reaction condition is pressure. The reaction condition is motor speed. The method also includes quenching a catalyst in one of the reactor vessels in response to the measured value associated with the contents of the reactor vessel. The method also includes using the measured value to calculate an experimental value for one of the reactor vessels. The experimental variable is a change in temperature. The experimental variable is a change in pressure. The experimental variable is percent conversion of starting material. The experimental variable is viscosity. The method also includes displaying the experimental variable.

In general, in another aspect, the invention features a method for controlling a combinatorial chemical reactor including multiple reactor vessels, each containing a reaction environment. The method includes receiving a set point for a property associated with each vessel's reaction environment; measuring a set of experimental values for the property for each vessel; storing the set of experimental values in a memory; and changing the reaction environment in one or more of the plurality of reactor vessels in response to the set point and a change in one or more of the set of experimental values.

Implementations of the invention can include one or more of the following advantageous features. Changing the reaction environment includes terminating a reaction occurring in a reactor vessel, the set point is a conversion target, and the change in an experimental value is a change in percent conversion of starting material. A graphical representation of the set of experimental values is displayed. The graphical representation is a histogram.

In general, in another aspect, the invention features a computer program on a computer-readable medium for monitoring a combinatorial chemical reaction. The program includes instructions to (a) receive a measured value associated with the contents of each of a plurality of reactor vessels; (b) store the measured values in a memory, and (c) repeat steps (a) and (b) multiple times during the course of the combinatorial chemical reaction.

Implementations of the invention can include one or more of the following advantageous features. The computer program includes instructions to change a reaction parameter associated with one of the reactor vessels in response to the measured value to maintain the reactor vessel at a predetermined set point.

In general, in another aspect, the invention features a reactor control system for monitoring and controlling parallel chemical reactions. The reactor system includes a control providing control signals to a parallel chemical reactor including multiple reactor vessels; an analyzer receiving a set of measured values from the parallel chemical reactor and calculating one or more calculated values for each of the reactor vessels; and a user interface for receiving at least one of the reaction parameters and displaying at least one of the set of measured values and the calculated values.

Advantages that can be seen in implementations of the invention include one or more of the following. Process variables can be monitored and controlled for multiple elements in a combinatorial library as a chemical reaction progresses. Data can be extracted for each library element repeatedly and in parallel over the course of the reaction, instead of extracting only a limited number of data points for selected library elements. Calculations and corrections can be applied automatically to every available data point for every library element over the course of the reaction. A single experimental value can be calculated from the entire data set for each library element.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings, and the claims.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a data processing system showing an implementation of the invention.

FIGS. 2 a - 2 d are schematic diagrams of a parallel reactor suitable for use with the invention.

FIG. 3 is a flow diagram of a method of controlling and analyzing a parallel chemical reaction.

FIG. 4 is an illustration of a dialog window for user input of system configuration information.

FIG. 5 is an illustration of a dialog window for user input of data display information.

FIG. 6 a is an illustration of a dialog window for user input of parallel reactor parameters.

FIG. 6 b is an illustration of a dialog window for user input of a temperature gradient for reactor blocks in a parallel reactor.

FIGS. 7 a - 7 b are illustrations of windows displaying system status and experimental results for a parallel reactor.

FIG. 8 is an illustration of a window displaying experimental results for a single reactor vessel.

FIG. 9 is an illustration of a dialog window for user input of color scaling parameters.

FIG. 10 is a schematic diagram of a computer platform suitable for implementing the data processing system of the invention.

Like reference numbers and designations in the various drawings indicate like elements.

›DETAILED DESCRIPTION · 1 of 7

The present invention provides computer programs and computer-implemented methods for monitoring the progress and properties of multiple reactions in situ. It is especially useful for screening and characterizing combinatorial libraries, but offers significant advantages over conventional experimental reactor control and data analysis techniques as well. For example, in situ monitoring of individual reaction mixtures not only provides feedback for process controllers, but also provides data for determining reaction rates, product yields, and various properties of the reaction products, including viscosity and molecular weight, while the experiment is in progress. Moreover, in situ monitoring coupled with tight process control can improve product selectivity, provide opportunities for process and product optimization, allow processing of temperature-sensitive materials, and decrease experimental variability.

One implementation of the invention is illustrated in FIG. 1 . Reactor control system 100 sends control data 120 to and receives experimental data 130 from reactor 110 . As will be described in more detail below, in one embodiment reactor 110 is a parallel polymerization reactor and the control and experimental data 120 and 130 include set point values for temperature, pressure, time and stirring speed as well as measured experimental values for temperature and pressure. Alternatively, in other embodiments reactor 110 can be any other type of parallel reactor or conventional reactor, and data 120 , 130 can include other control or experimental data. System control module 140 provides reactor 110 with control data 120 based on system parameters obtained from the user through user I/O devices 150 , such as a display monitor, keyboard or mouse. Alternatively, system control module 140 can retrieve control data 120 from storage 180 .

Reactor control system 100 acquires experimental data 130 from reactor 110 and processes the experimental data in system control module 140 and data analysis module 145 under user control through user interface module 170 . Reactor control system 100 displays the processed data both numerically and graphically through user interface module 170 and user I/O devices 150 , and optionally through printer 190 .

Parallel Polymerization Reactor Control and Analysis

FIG. 2 a illustrates one embodiment of reactor 110 in more detail. Reactor 110 includes reactor block 200 , which contains sealed reactor vessels 210 for receiving reagents. In one embodiment, reactor block 200 is a single unit containing each of reactor vessels 210 . Alternatively, reactor block 200 can include a number of reactor block modules, each of which contains a number of reactor vessels 210 . Reactor 110 includes a mixing control and monitoring system 220 , a temperature control and monitoring system 230 and a pressure control and monitoring system 240 . These systems communicate with reactor control system 100 .

The details of mixing control and monitoring system 220 are illustrated in FIG. 2 b. Each of reactor vessels 210 contains a stirrer 221 for mixing the vessel contents. In one embodiment, stirrers 221 are stirring blades mounted on spindles 222 and driven by motors 223 . Separate motors 223 can control each individual stirrer 221 ; alternatively, motors 223 can control groups of stirrers 221 associated with reactor vessels 210 in separate reactor blocks. In another embodiment, magnetic stirring bars or other known stirring mechanisms can be used. System control module 140 provides mixing control signals to stirrers 221 through interface 226 , 228 , and one or more motor cards 224 . Interface 226 , 228 can include a commercial motor driver 226 and motor interface software 228 that provides additional high level motor control, such as the ability to initialize motor cards 224 , to control specific motors or motor axes (where each motor 224 controls a separate reactor block), to set motor speed and acceleration, and to change or stop a specified motor or motor axis.

Mixing control and monitoring system 220 can also include torque monitors 225 , which monitor the applied torque in each of reactor vessels 210 . Suitable torque monitors 225 can include optical sensors and magnetic field sensors mounted on spindles 222 , or strain gauges (not shown), which directly measure the applied torque and transmit torque data to system control module 140 and data analysis module 145 . Monitors 225 can also include encoders, resolvers, Hall effect sensors and the like, which may be integrated into motors 223 . These monitors measure the power required to maintain a constant spindle 222 rotational speed, which is related to applied torque.

Referring to FIG. 2 c, temperature control and monitoring system 230 includes a temperature sensor 232 and a heating element 234 associated with each reactor vessel 210 and controlled by temperature controller 236 . Suitable heating elements 234 can include thin filament resistance heaters, thermoelectric devices, thermistors, or other devices for regulating vessel temperature. Heating elements can include devices for cooling, as well as heating, reactor vessels 210 . System control unit 140 transmits temperature control signals to heating elements 234 through interface 238 , 239 and temperature controller 236 . Interface 238 , 239 can include a commercial temperature device driver 238 implemented to use hardware such as an RS 232 interface, and temperature interface software 239 that provides additional high level communication with temperature controller 236 , such as the ability to control the appropriate communication port, to send temperature set points to temperature controller 236 , and to receive temperature data from temperature controller 236 .

Suitable temperature sensors 232 can include thermocouples, resistance thermoelectric devices, thermistors, or other temperature sensing devices. Temperature controller 236 receives signals from temperature sensors 232 and transmits temperature data to reactor control system 100 . Upon determining that an increase or decrease in reactor vessel temperature is appropriate, system control module 140 transmits temperature control signals to heating elements 234 through heater controller 236 . This determination can be based on temperature parameters entered by the user through user interface module 170 , or on parameters retrieved by system control module 140 from storage. System control module 140 can also use information received from temperature sensors 232 to determine whether an increase or decrease in reactor vessel temperature is necessary.

›DETAILED DESCRIPTION · 2 of 7

As shown in FIG. 2 d, pressure control and monitoring system 240 includes a pressure sensor 242 associated with each reactor vessel 210 . Each reactor vessel 210 is furnished with a gas inlet/outlet 244 that is controlled by valves 245 . System control module 140 controls reactor vessel pressure through pressure interface 248 , 249 and pressure controller 243 . Pressure interface 248 , 249 can be implemented in hardware, software or a combination of both. Pressure controller 243 transmits pressure control signals to valves 245 allowing gases to enter or exit reactor vessels 210 through inlet/outlet 244 as required to maintain reactor vessel pressure at a level set by the user through user interface 170 .

Pressure sensors 242 obtain pressure readings from reactor vessels 210 and transmit pressure data to system control module 140 and data analysis module 145 through pressure controller 243 and interface 248 , 249 . Data analysis module 145 uses the pressure data in calculations such as the determination of the rate of production of gaseous reaction products or the rate of consumption of gaseous reactants, discussed in more detail below. System control module 140 uses the pressure data to determine when adjustments to reactor vessel pressure are required, as discussed above.

FIG. 3 is a flow diagram illustrating the operation of a reactor control system 100 . The user initializes reactor control system 100 by setting the initial reaction parameters, such as set points for temperature, pressure and stirring speed and the duration of the experiment, as well as selecting the appropriate hardware configuration for the experiment (step 300 ). The user can also set other reaction parameters that can include, for example, a time at which additional reagents, such as a liquid co-monomer in a co-polymerization experiment, should be added to reaction vessels 210 , or a target conversion percentage at which a quenching agent should be added to terminate a catalytic polymerization experiment. Alternatively, reactor control system 100 can load initial parameters from storage 180 . The user starts the experiment (step 310 ). Reactor control system 100 sends control signals to reactor 110 , causing motor, temperature and pressure control systems 220 , 230 and 240 to bring reactor vessels 210 to set point levels (step 320 ).

Reactor control system 100 samples data through mixing monitoring system 220 , temperature monitoring system 230 and pressure monitoring system 240 at sampling rates, which may be entered by the user (step 330 ). Reactor control system 100 can provide process control by testing the experimental data, including sampled temperature, pressure or torque values as well as elapsed time, against initial parameters (step 340 ). Based on these inputs, reactor control system 100 sends new control signals to the mixing, temperature and/or pressure control and monitoring systems of reactor 110 (steps 350 , 320 ). These control signals can also include instructions to a material handling robot to add material, such as a reagent or a catalyst quenching agent, to one or more reactor vessels based upon experimental data such as elapsed time or percent conversion calculated as discussed below. The user can also enter new parameters during the course of the experiment, such as changes in motor speed, set points for temperature or pressure, or termination controlling parameters such as experiment time or percent conversion target (step 355 ), which may also cause reactor control system 100 to send new control signals to reactor 110 (steps 355 , 350 , 320 ).

Data analysis module 145 performs appropriate calculations on the sampled data (step 360 ), as will be discussed below, and the results are displayed on monitor 150 (step 370 ). Calculated results and/or sampled data can be stored in data storage 180 for later display and analysis. Reactor control system 100 determines whether the experiment is complete—for example, by determining whether the time for the experiment has elapsed (step 380 ). Reactor control system 100 can also determine whether the reaction occurring in one or more of reactor vessels 210 has reached a specified conversion target based on results calculated in step 360 ; in that case, reactor control system 100 causes the addition of a quenching agent to the relevant reactor vessel or vessels as discussed above, terminating the reaction in that vessel. For any remaining reactor vessels, reactor control system 100 samples additional data (step 330 ) and the cycle begins anew. When all reactor vessels 210 in reactor block 200 have reached a specified termination condition, the experiment is complete (step 390 ). The user can also cause the reaction to terminate by aborting the experiment at any time. It should be recognized that the steps illustrated in FIG. 3 are not necessarily performed in the order shown; instead, the operation of reactor control system 100 can be event driven, responding, for example, to user events, such as changes in reaction parameters, or system generated periodic events.

Analysis of Experimental Data

The type of calculation performed by data analysis module 145 (step 360 ) depends on the nature of the experiment. As discussed above, while an experiment is in progress, reactor control system 100 periodically receives temperature, pressure and/or torque data from reactor 110 at sampling rates set by the user (step 330 ). System control module 140 and data analysis module 145 process the data for use in screening materials or for performing quantitative calculations and for display by user interface module 170 in formats such as those shown in FIGS. 7 a - 7 b and 8 .

Reactor control system 100 uses temperature measurements from temperature sensors 232 as a screening criteria or to calculate useful process and product variables. For instance, in one implementation, catalysts of exothermic reactions are ranked based on peak reaction temperature reached within each reactor vessel, rates of change of temperature with respect to time, or total heat released over the course of reaction. Typically, the best catalysts of an exothermic reaction are those that, when combined with a set of reactants, result in the greatest heat production in the shortest amount of time. In other implementations, reactor control system 100 uses temperature measurements to compute rates of reaction and conversion.

›DETAILED DESCRIPTION · 3 of 7

In addition to processing temperature data as a screening tool, in another implementation, reactor control system 100 uses temperature measurement—combined with proper thermal management and design of the reactor system—to obtain quantitative calorimetric data. From such data, reactor control system 100 can, for example, compute instantaneous conversion and reaction rate, locate phase transitions (e.g., melting point, glass transition temperature) of reaction products, or measure latent heats to deduce structural information of polymeric materials, including degree of crystallinity and branching.

Calorimetric data can be obtained using a reactor 200 made of a material having high thermal conductivity, such as aluminum, stainless steel or brass. High thermal conductivity, accompanied by active heating or cooling using any of the methods described above, help maintain a uniform temperature T o throughout the reactor block 200 . Reactor vessels 210 are generally made of a material having relatively low thermal conductivity and are insulated to further decrease heat transfer to or from the vessels. Each vessel contains stirring blades 221 to ensure that the contents of the vessels 210 are well mixed and that the temperature within any one of the vessels 210 , T j , is uniform. Each of the vessels contains a thermistor, which serves as a temperature sensor 232 , measuring temperature T j , and a heating element 234 to heat the vessel contents. One can account for non-uniform temperatures within the reactor block 200 by measuring T oj , the temperature of the block 200 in the vicinity of each of the vessels 210 , using block temperature sensors. In such cases, T oj , instead of T o , is used in the calorimetric calculations described next.

An energy balance around the contents of one of the vessels 210 (jth vessel) yields an expression for fractional conversion X j , of a key reactant at any time t, assuming that the heat of reaction ΔH rj and the specific heat of the vessel contents C Pj are known and are constant over the temperature range of interest: M j  c P , j   T j  t = m o , j  Δ     H r , j   X j  t + Q i     n , j - Q out , j . ( Eq .    1 )

In Equation 1, M, is the mass of the contents of the jth vessel; m oj is the initial mass of the key reactant; and Q inj is the rate of heat transfer into the jth vessel by processes other than reaction, as for example, by resistance heating of the thermistor. Q outj is the rate of heat transfer out of the jth vessel, which can be determined from the expression:

Q outj =U j A j ( T j −T o )= U j A j ΔT j   (Eq. 2)

where A j is the heat transfer area—the surface area of the jth vessel—and is the heat transfer coefficient, which depends on the properties of the vessel 210 and its contents, as well as the stirring rate. U j can be determined by measuring the temperature rise ΔT j in response to a known heat input.

Reactor control system 100 can use Equations 1 and 2 to determine conversion from calorimetric data in at least two ways. In a first method, the temperature of the reactor block 200 is held constant, and sufficient heat is added to each of the vessels 210 through thermistor 234 to maintain a constant value of ΔT j . Under such conditions, and after combining Equations 1 and 2, the conversion can be calculated from the expression X j = 1 m o , j  Δ     H r , j  ( U j  A j  t j  Δ     T j - ∫ 0 t f  Q i     n , j   t ) , ( Eq .    3 )

where the integral can be determined by numerically integrating the power consumption of the thermistor 234 over the length of the experiment t j . In this implementation, reactor control system 100 method determines the heat output of a reaction under isothermal conditions.

In a second implementation, the temperature of the reactor block 200 is again held constant, but T j increases or decreases in response to heat produced or consumed in the reaction. Equations 1 and 2 become under such circumstances X j = 1 m o , j  Δ     H r , j  ( M j  c P , j  ( T f , j - T i , j + U j  A j  ∫ 0 t f  Δ     T j   t ) . ( Eq .    4 )

In Equation 4, the integral can be determined numerically, and T fj and T ij are temperatures of the reaction mixture within the jth vessel at the beginning and end of reaction, respectively. Thus, if T fj equals T ij , the total heat liberated is proportional to ∫ 0 t f  Δ     T j   t .

This method is simpler to implement than the isothermal method since it does not require temperature control of individual vessels. However, it can be used only when the temperature change in each of the reaction vessels 210 due to reaction does not significantly influence the reaction under study.

In another implementation, reactor control system 100 calculates the instantaneous rate of disappearance of the key reactant in the jth vessel, −r j , using Equations 1, 3 or 4 because −r j is related to conversion through the relationship - r j = C 0 , j   X j  t , ( Eq .    5 )

which is valid for constant volume reactions. The constant C oj is the initial concentration of the key reactant.

Reactor control system 100 can also monitor mixing variables such as applied stirring blade torque in order to determine the viscosity of the reaction mixture and related properties. Reactor control system 100 can use such data to monitor reactant conversion and to rank or characterize materials based on molecular weight or particle size.

The viscosity of a polymer solution depends on the molecular weight of the polymer and its concentration in solution. For polymer concentrations well below the “semidilute limit”—the concentration at which the solvated polymers begin to overlap one another—the solution viscosity η is related to the polymer concentration C in the limit as C approaches zero by the expression

η=(1 +C [η])η s   (Eq. 6)

where η s is the viscosity of the solvent. Essentially, adding polymer to a solvent increases the solvent's viscosity by an amount proportional to the polymer concentration. The proportionality constant [η] is known as the intrinsic viscosity and is related to the polymer molecular weight Mthrough the expression

›DETAILED DESCRIPTION · 4 of 7

[η]=[η o ]M α ,  (Eq. 7)

where [η o ] and α are empirical constants. In one implementation, reactor control system 100 uses Equation 7, known as the Mark-Houwink-Sakurda (MHS) relation, along with Equation 6, to determine molecular weight from viscosity measurements.

Equation 6 requires concentration data from another source; with polymerization reactions, polymer concentration is directly related to monomer conversion. Reactor control system 100 obtains such data by measuring heat evolved during reaction (see Equations 3 and 4) or, as described below, by measuring the amount of a gaseous reactant consumed during reaction. The constants in the MHS relation are functions of temperature, polymer composition, polymer conformation, and the quality of the polymer-solvent interaction. The empirical constants [η o ] and a have been measured for a variety of polymer-solvent pairs and are tabulated in the literature.

Although Equations 6 and 7 can be used to approximate molecular weight, reactor control system 100 uses in situ measurements of viscosity mainly to rank reaction products as a function of molecular weight. Under many circumstances, the amount of solvent necessary to satisfy the concentration requirement of Equation 6 would slow the rate of reaction to an unacceptable level. Therefore, polymerizations are generally carried out at polymer concentrations above the semidilute limit, where the use of Equations 6 and 7 to calculate molecular weight would lead to large error. Nevertheless, reactor control system 100 can use viscosity to rank reaction products even at concentrations above the semidilute limit because a rise in viscosity during reaction generally reflects an increase in polymer concentration, molecular weight or both. If necessary, one can accurately determine molecular weight from viscosity measurements at relatively high polymer concentration by first preparing temperature-dependent calibration curves that relate viscosity to molecular weight for every polymer-solvent pair produced.

In addition to ranking reactions, in other implementations reactor control system 100 uses viscosity measurements to screen or characterize dilute suspensions of insoluble particles—polymer emulsions or porous supports for heterogeneous catalysts—in which viscosity increases with particle size at a fixed concentration. In the case of polymer emulsions, viscosity can serve as a measure of emulsion quality. For example, solution viscosity that is constant over long periods of time may indicate superior emulsion stability, or viscosity within a particular range may correlate with a desired emulsion particle size. With porous supports, viscosity measurements can be used to identify active catalysts: in many cases, the catalyst support will swell during reaction due to the formation of insoluble products within the porous support.

Viscosity or related properties of the reactant mixtures are monitored by measuring the effect of viscous forces on stirring blade rotation. Viscosity is a measure of a fluid's resistance to a shear force. This shear force is equal to the applied torque Γ needed to maintain a constant angular velocity of the stirring blade. The relationship between the viscosity of the reaction mixture and the applied torque can be expressed as

Γ=K ω ( ω,T )η,  (Eq. 8)

where K ω is a proportionality constant that depends on the angular frequency ω of the stirring bar, the temperature of the reaction mixture, and the geometries of the reaction vessel and the stirring blade. K ω can be obtained through calibration with solutions of known viscosity.

During a polymerization reaction, the viscosity of the reaction mixture increases over time due to the increase in molecular weight of the reaction product or polymer concentration or both. Reactor control system 100 monitors this change in viscosity by measuring the applied torque and using Equation 8 to convert the measured data to viscosity. In many instances, actual values for the viscosity are unnecessary, and one can dispense with the conversion step. For example, in situ measurements of applied torque can be used to rank reaction products based on molecular weight or conversion, as long as stirring rate, temperature, vessel geometry and stirring blade geometry are about the same for each reaction mixture.

In addition to direct measurement, reactor control system 100 can determine torque indirectly by measuring the phase angle or phase lag between the stirring blade and the driving force or torque. Indirect measurement requires that the coupling between the driving torque and the stirring blade is soft, so that significant and measurable phase lag occurs.

With magnetic stirring, soft coupling occurs automatically. The torque on the stirring bar is related to the magnetic moment of the stirring bar, μ, and the amplitude of the magnetic field that drives the rotation of the stirring bar, H, through the expression

Γ=μH sin θ,   (Eq. 9)

where θ is the angle between the axis of the stirring bar (magnetic moment) and the direction of the magnetic field. At a given angular frequency, and for known μ and H, the phase angle θ will automatically adjust itself to the value necessary to provide the amount of torque needed at that frequency. If the torque required to stir at frequency ω is proportional to the solution viscosity and the stirring frequency—a useful approximation—the viscosity can be calculated from measurements of the phase angle using the equation

Γ=μH sin θ= aηω   (Eq. 10)

where a is a proportionality constant that depends on temperature and on the geometry of the vessel and the stirring blade. In practice, one may use Equation 8 or a similar empirical expression for the right hand side of Equation 10 if the torque does not depend linearly on the viscosity-frequency product.

Reactor control system 100 can also assess reaction kinetics by monitoring pressure changes due to production or consumption of various gases during reaction. Reactor control system 100 uses pressure sensors 242 to measure changes in pressure in each reactor vessel headspace—the volume within each vessel that separates the liquid reagents from the vessel's sealed cap. During reaction, any changes in the head space pressure, at constant temperature, reflect changes in the amount of gas present in the head space. Reactor system 100 uses this pressure data to determine the molar production or consumption rate r i of a gaseous component since, for an ideal gas at constant temperature, r i = 1 RT   p i  t ( Eq .    11 )

›DETAILED DESCRIPTION · 5 of 7

where R is the universal gas constant and p i is the partial pressure of the ith gaseous component. Reactor control system 100 receives data from temperature sensors 232 that can be used to account for changes in pressure resulting from variations in head space temperature. The ideal gas law or similar equation of state can be used to calculate the pressure correction.

Alternatively, valves 245 are used to compensate for the consumption of a gaseous reactant in a reaction where there is a net loss in moles of gas-phase components. At the beginning of the reaction, valves 245 open to allow gas to enter each of the vessels 210 . Once the pressure within each of the vessels, as read by the sensor 242 , reaches a predetermined value P H , pressure controller 243 causes valves 245 to close. As the reaction consumes the source gas, the total pressure within each of the vessels 210 decreases. Once the pressure in a particular vessel falls below a predetermined value P L , reactor control system 100 , through pressure controller 243 , opens the valve 245 associated with the particular vessel, repressurizing it to P H . This process—filling each of the vessels with source gas to P H , allowing the head space pressure to drop below P L , and then refilling the vessels with source gas to P H —is usually repeated many times during the course of the reaction. Furthermore, the total pressure in the head space of each of the vessels 210 is continuously monitored and recorded during the gas fill-pressure decay cycle.

An analogous method can be used to investigate reactions where there is a net gain of gas-phase components. At the beginning of a reaction, all reaction materials are introduced into the vessels 210 and the valves 245 are closed. As the reaction proceeds, gas production results in a rise in head space pressure, which sensors 242 and reactor control system 100 monitor and record. Once the pressure within a particular vessel reaches P H , reactor control system 100 directs the controller 243 to open the appropriate valve 245 to depressurize the vessel. Once the head space pressure falls below P L , reactor control system 100 instructs the controller 243 to close the valve 245 . The total pressure is continuously monitored and recorded during the gas rise-vent cycle.

Reactor control system 100 can estimate gas consumption (production) rates from the total pressure data by a variety of methods. One estimate of gas consumption (production) can be made from the slope of the pressure decay (growth) curves obtained when the valve is closed. These data, after converting total pressure to partial pressure based on reaction stoichiometry, can be inserted into Equation 6 to calculate r i , the molar consumption (production) rate. A second estimate can be made by assuming that a fixed quantity of gas enters (exits) the vessel during each valve cycle. The frequency at which the reactor is repressurized (depressurized) is therefore proportional to the gas consumption (production) rate. A third, more accurate estimate can be obtained by assuming a known gas flow rate through the valve. Multiplying this value by the time during which the valve remains open yields an estimate for the quantity of gas that enters or leaves the vessel during a particular cycle. Dividing this product by the time between the next valve cycle—that is, the time it takes for the pressure in the vessel head space to fall from P H to P L —yields an average value for the volumetric gas consumption (production) rate for the particular valve cycle. Summing the quantity of gas added during all of the cycles equals the total volume of gas consumed (produced) during the reaction.

Operation of a Reactor Control System

Referring to FIG. 4, reactor control system 100 receives system configuration information from the user through system configuration window 400 , displayed on monitor 150 . System configuration window 400 allows the user to specify the appropriate hardware components for an experiment. For example, the user can choose the number of motor cards 224 and the set a number of motor axes per card in motor pane 410 . Temperature controller pane 420 allows the user to select the number of separate temperature controllers 236 and the number of reactor vessels (the number of feedback control loops) per controller. In pressure sensor pane 430 , the user can set the number of pressure channels corresponding to the number of reactor vessels in reactor 110 . The user can also view the preset safety limits for motor speed, temperature and pressure through system configuration window 400 .

As shown in FIG. 5, reactor control system 100 receives data display information from the user through system option window 500 . Display interval dialog 510 lets the user set the refresh interval for data display. The user can set the number of temperature and pressure data points kept in memory in data point pane 520 .

At any time before or during an experiment, the user can enter or modify reaction parameters for each reactor vessel 210 in reactor block 200 using reactor setup window 600 , shown in FIG. 6 a. In motor setup pane 610 , the user can set a motor speed (subject to any preset safety limits), and can also select single or dual direction motor operation. The user can specify temperature parameters in temperature setup pane 620 . These parameters include temperature set point 630 , turn off temperature 640 , sampling rate 650 , as well as the units for temperature measurement and temperature controller operation modes. By selecting gradient button 660 , the user can also set a temperature gradient, as will be discussed below. Pressure parameters, including a pressure set point and sampling rate, can be set in pressure setup pane 670 . Panes 610 , 620 and 670 can also display safety limits for motor speed, temperature and pressure, respectively. The values illustrated in FIG. 6 a are not intended to limit this invention and are illustrative only. Reactor setup window 600 also lets the user set a time for the duration of the experiment. Reactor setup window 600 lets the user save any settings as defaults for future use, and load previously saved settings.

›DETAILED DESCRIPTION · 6 of 7

FIG. 6 b illustrates the setting of a temperature gradient initiated by selecting gradient button 660 . In gradient setup window 680 , the user can set a temperature gradient across reactor 110 by entering different temperature set points 690 for each reactor block module of a multi-block reactor 110 . As with other setup parameters, such temperature gradients can be saved in reactor setup window 600 .

Referring to FIG. 7 a, the user can monitor an experiment in reaction window 700 . System status pane 710 displays the current system status, as well as the status of the hardware components selected in system configuration window 400 . Setting pane 720 and time pane 730 display the current parameter settings and time selected in reactor setup window 600 , as well as the elapsed time in the experiment. Experimental results are displayed in data display pane 740 , which includes two dimensional array 750 for numerical display of data points corresponding to each reactor vessel 210 in reactor 110 , and graphical display 760 for color display of the data points displayed in array 750 . Color display 760 can take the form of a two dimensional array of reactor vessels or three dimensional color histogram 780 , shown in FIG. 7 b. The color range for two dimensional array 760 and histogram 780 is displayed in legends 770 and 790 , respectively. Data display pane 740 can display either temperature data or conversion data calculated from pressure measurements as described above. In either case, the displayed data is refreshed at the rate set in the system options window 500 .

By selecting an individual reactor vessel 210 in data display pane 740 , the user can view a detailed data window 800 for that vessel, as shown in FIG. 8 . Data window 800 provides synthesis information and a graphical display of experimental results, including, for example, temperature, pressure, conversion and molecular weight data for that vessel for the duration of the experiment.

Referring again to FIG. 7 b, toolbar 795 lets the user set reactor parameters (by entering reactor setup window 600 ) and color scaling for color displays 760 and 780 . The user can also begin or end an experiment, save results and exit system 100 using toolbar 795 . The user can enter any observations or comments in comment box 798 . User comments and observations can be saved with experimental results.

Referring to FIG. 9, the user can set the color scaling for color displays 760 and 780 through color scaling window 900 . Color scaling window 900 lets the user select a color range corresponding to temperature or conversion in color range pane 910 . The user can also set a color gradient, either linear or exponential, through color gradient pane 920 . Color scaling window 900 displays the selected scale in color legend 930 .

The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.

Suitable computer programs in modules 140 and 145 can be implemented in classes as set forth in the following tables. (The prefix “o” in a name indicates that the corresponding property is a user-defined object; the prefix “c” in a name indicates that the corresponding property is a collection.)

1. Application Class

2. ColorScale Class

Parent Class: Application

3. ColorLegend Class

Parent Class: ColorScale

4. System Class

5. ExpTiming Class

Parent Class: System

6. DisplayTiming Class

Parent Class: System

7. Alarm Class

Parent Class: System

8. Motors Class

Parent Class: System

9. MotorAxis Class

Parent Class: Motors

10. MotorParam Class

Parent Class: Motors

11. Heaters Class

Parent Class: System

12. HeaterCtlr Class

Parent Class: Heaters

13. HeaterParam Class

Parent Class: HeaterCtlr

14. HeaterData Class

Parent Class: Heaters

15. Pressures Class

Parent Class: System

16. PressureParam Class

Parent Class: Pressures

17. PressureData Class

Parent Class: Pressures

18. ErrorHandler Class

Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).

To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer system. The computer system can be programmed to provide a graphical user interface through which computer programs interact with users.

An example of one such type of computer is shown in FIG. 10, which shows a block diagram of a programmable processing system 1000 suitable for implementing or performing the apparatus or methods of the invention. The system 1000 includes a processor 1010 , a random access memory (RAM) 1020 , a program memory 1030 (for example, a writable read-only memory (ROM) such as a flash ROM), a hard drive controller 1040 , and an input/output (I/O) controller 1050 coupled by a processor (CPU) bus 1060 . The system 1000 can be preprogrammed, in ROM, for example, or it can be programmed (and reprogrammed) by loading a program from another source (for example, from a floppy disk, a CD-ROM, or another computer).

›DETAILED DESCRIPTION · 7 of 7

The hard drive controller 1040 is coupled to a hard disk 1045 suitable for storing executable computer programs, including programs embodying the present invention, and data including the images, masks, reduced data values and calculated results used in and generated by the invention. The I/O controller 1050 is coupled by means of an I/O bus 1070 to an I/O interface 1080 . The I/O interface 1080 receives and transmits data in analog or digital form over communication links such as a serial link, local area network, wireless link, and parallel link. Also coupled to the I/O bus 1070 is a display 1090 and a keyboard 1095 . Alternatively, separate connections (separate buses) can be used for the I/O interface 1070 , display 1090 and keyboard 1095 .

The invention has been described in terms of particular embodiments. Other embodiments are within the scope of the following claims. Although elements of the invention are described in terms of a software implementation, the invention may be implemented in software or hardware or firmware, or any combination of the three. In addition, the steps of the invention can be performed in a different order and still achieve desirable results.

›Tables in the description — 14
Property Table:
CategoryNameAccessDescription/Comments
GeneralClsNameGetClass name
AppNameGetApplication name
sRootDirGet/LetRoot directory of all
system files
bDebugModeGet/LetSystem running mode.
If TRUE, display
message boxes for
errors in addition to
error logging. If
FALSE, log the error to
the log file
DBIsConnectedGet/LetWhether database is
connected
SystemSectionGeneralGetGeneral section
RegistrySectionSystemLimitsGetSection for System Limit
Values
SectionDefaultParamGetSection for system
default parameters
ColorScalingoTempScaleGetColor Scale object
for temperature data
oViscosityScaleGetColor Scale object
for viscosity data
oConversionScaleGetColor Scale object
for conversion data
oMWScaleGetColor Scale object
for molecule
weight data
Method Table:
NameArgument ListReturn TypeDescription/Comments
SaveCnfgBooleanSave application config-
urations to the system registry
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
ColorCountGetNumber of colors used in the legend
Method Table:
NameArgument ListReturn TypeDescription/Comments
GetColorValuefValuelongGet color for the
specified data value
Property Table: Description/
CategoryNameAccessComments
GeneralClsNameGet
ExpID
System StatusStatusGet/LetStatus variable
STATUS_OFFGetconstant
STATUS_RUNGetconstant
STATUS_IDLEGetconstant
STATUS_ERRORGetconstant
System TimingoExpTimingGetControl and
record the
experiment time
oDisplayTimingGetControl the
data display
updating rate
System AlarmingoAlarmGetProvide alarm
when system
error occurs
System ComponentsoMotorsGet
oHeatersGet
oPressuresGet
Method Table:
NameArgument ListReturn TypeDescription/Comments
Run
StopRunning
Archive
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
TimingByTimeGet/LetBoolean type
TimingByPressureGet/LetBoolean type
TimingByTemperatureGet/LetBoolean type
TargetTimeGet/LetSystem will stop if specified target
value is achieved
TargetPressureGet/LetSystem will stop if specified target
value is achieved
TargetTemperatureGet/LetSystem will stop if specified target
value if achieved
ExpDateGet/LetDate when experiment starts to run
ExpStartTimeGet/LetTime when experiment starts to run
ExpEndTimeGet/LetTime when experiment stop running
ExpElapsedTimeGet/SetThe time passed during the experiment
TimerIntervalLetTimer used to update the elapsed time
Method Table:
NameArgument ListReturn TypeDescription
LoadDefaultExpTimingboolean
SaveDefaultExpTimingboolean
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
DisplayTimerGet/SetTimer used to update the data
TimerIntercalGet/Let
Method Table:
NameArgument ListReturn TypeDescription
SaveDefaultParamBoolean
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
BeepTimerSetTimer used to control beep
PauseTimerSetTimer used to pause the beep
BeepStatusGetA boolean value: FALSE if paused,
otherwise TRUE
BeepPauseTimeLetTime duration for beep to pause
Method Table:
NameArgument ListReturn TypeDescription
TurnOnBeepStart to beep
TurnOffBeepStop beeping
BeepPauseDisable beep
BeepResumeEnable beep
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
ParentSetReference to the parent object
MotorIDGet/LetMotor Axis ID
oCurParamGetReference to current parameter setting
Method Table:
Argument
NameListReturn TypeDescription
GetParamSetting[index]MotorParamReturn the last in the
parameter collection
RunbooleanAdd oCurParam to the
Param collection, and
run this motor axis
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
ParentSetReference to the parent object
MotionTypeGet/LetDual or single direction spin
DeltaTGet/LetTime duration before changing spin direction
SpinRateGet/LetSpin rate in RPM
EffectiveTimeGet/LetTime the parameters take effect
Method Table:
NameArgument ListReturn TypeDescription
PrintParamiFileNoBooleanPrint the parameters to file
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
ParentSetReference to the parent object
oCurParamGetReference to current parameter setting
Method Table:
ArgumentReturn
NameListTypeDescription
AddParamSettingoParambooleanAdd the parameter object to
the parameter collection
GetParamSetting[index]HeaterParamReturn the last in the
parameter collection
Property Table:
NameAccessDescription/Comments
clsNameGetClass Name
ParentSetReference to the parent object
SetpointGet/LetSetpoint for temperature
SplRateGet/LetSampling Rate (Hz)
EffectiveTimeGet/LetTime the parameters take effect
Method Table:
NameArgument ListReturn TypeDescription
PrintParamiFileNoBooleanPrint the parameters to file
Property Table:
NameAccessDescription/Comments
clsNameGetClass Name
ParentSetReference to the parent object
DataPointsInMemLet
LoopCountLetTotal loop count
DataCountGetData point count
cTimeGetGet time data collection
cTempGetGet temperature data collection
Method Table:
ArgumentReturn
NameListTypeDescription
GetDataByRef fTime,BooleanGet current data set, or the data
ByRef vTemp,set with specified index
[,index]
AddDatafTime, vTempAdd the data set to the data col-
lections
ClearDataClear the data collection
WriteToDiskWrite the current data to disk
file
Property Table:
NameAccessDescription/Comments
clsNameGetClass Name
ParentSetReference to the parent object
SetpointGet/LetSetpoint for pressure (psi)
SplRateGet/LetSampling Rate (Hz)
EffectiveTimeGet/LetTime the parameters take effect
Method Table:
Argument
NameListReturn TypeDescription
PrintParamiFileNoBooleanPrint the parameters to the file
Property Table:
NameArgumentAccessDescription/Comments
clsNameGetClass Name
ParentSetReference to the parent object
DataPointsInMemLet
ChannelCountLetTotal AI channel count
PresCountGetPressure data point count
ConvCountGetConversion data point count
cPresTimeGetGet time collection for
pressure data
cPressureGetGet pressure data collection
cConvTimeiChannelNoGetGet time collection for
conversion data
cConversioniChannelNoGetGet conversion data collection
Method Table:
Return
NameArgument ListTypeDescription
GetCurPresByRef vPresBooleanGet current pressure data
set
GetCurConvByRef vConvBooleanGet current conversion
data set
AddPresfTime, vPresAdd the pressure data set
to the pressure data
collections, then
calculate conversions
ClearDataClear all the data
collections
WritePresToDiskBooleanWrite the current
pressure data to disk file
WriteConvToDiskBooleanWrite the current
conversion data to disk
file
Property Table:
NameAccessDescription/Comments
ClsNameGetClass Name
LogFileGet/LetLog file for error messages
Method Table:
ArgumentReturn
NameListTypeDescription
SaveConfgboolean
OpenLogFileiFileNobooleanOpen log file with specified file
number for APPEND, lock
WRITE
OpenLogfileiFileNobooleanOpen log file with specified file
number for APPEND, lock
WRITE
CloseLogFile
LogErrorsModName,Write error messages to the log
sFuncName,file, also call DisplayError in
debug mode
iErrNo,
sErrText
DisplayErrorsModName,Show messageBox to display the
sFuncName,error
iErrNo,
sErrText

Claims as granted

38 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

30 codes
IPC · International Patent Classification
Section B — Performing operations; transporting
  • B01L3/00
  • B01L7/00
  • B01F13/08
  • B01J19/00
  • B01J19/26
  • B01F13/06
  • B01F15/00
  • B01J19/18
Section C — Chemistry; metallurgy
  • C40B40/18
  • C40B40/14
Section F — Mechanical engineering; lighting; heating; weapons
  • F28F27/00
Section G — Physics
  • G01N35/10
  • G01N21/25
  • G05D21/00
  • G05B23/02
  • G01K13/00
USPC · US Patent Classification
436/37436/43422/130700/269422/197436/147422/93436/85422/131700/266700/268436/159422/62422/196

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 1999Jul 1999Jan 2000Jul 2000Jan 2001Jul 2001Jan 2002Jul 2002Jan 2003USPTOApplicantNon-final rejectionFinal rejectionRequest for continued examination
USPTOApplicanthover for detail · click to open
Pendency
3.8 y
1,404 days filing → grant
Office actions
2
non-final + final
Responses
1
1 RCE
Interviews
1
examiner interview summaries
Examiner
Arlen Soderquist
art unit 1764 · TC 1700
Citations: 146 back · 111 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom2000200220042006200820102012201420162018Owner 1Owner 3liens, releases & corrections
TitleReleasehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock