An oil production environment can include multiple well sites, each configured with one or more pumping systems that are used to collect oil for further processing and distribution. The pumping systems can include a variety of machinery used in the production process. The machinery can be configured to include sensors capable of transmitting sensor data that can be used to determine the operating parameters of the machinery.
Supervisory control and data acquisition (SCADA) systems can include control system architectures using computers and networked data communications to monitor and control machinery or systems of machinery according to desired operating parameters and based on received sensor data.
In one aspect, a system for automatically determining pumping methods within an oil production environment is provided herein. The system can include a first pump operating within an oil production environment according to a first set of operating parameters associated with the first pump. The system can also include one or more sensors, affixed to the first pump. The one or more sensors can be configured to generate pump sensor data associated with the first pump. The system can further include a first computing device, including a data processor. The first computing device can be configured to receive the generated pump sensor data. The first computing device can also be coupled to the one or more sensors via a supervisory control and data acquisition system configured with a plurality of computing devices, linked via a network, to monitor and control one or more pumps within the oil production environment in relation to one or more sets of operating parameters associated with the one or more pumps. The first computing device can include a memory storing instructions which, when executed, cause the data processor to perform operations. The operations can include generating an advisory statement, based on the received pump sensor data. The advisory statement can identify a second pump and a second set of operating parameters associated with the second pump. The operations can also include providing the advisory statement. The system can also include a second computing device, including a data processor and a display. The second computing device can be configured to receive the advisory statement from the first computing device and to display the advisory statement on a display of the second computing device.
In another aspect, methods for automatically determining pumping methods within an oil production environment are also provided herein. In one embodiment, the method can include receiving, by a first computing device including a data processor, pump sensor data associated with a first pump. The pump sensor data can be generated by one or more sensors affixed to the first pump configured within an oil production environment and operating according to a first set of operating parameters associated with the first pump. The one or more sensors can be coupled to the first computing device via a supervisory control and data acquisition system configured with a plurality of computing devices, linked via a network, to monitor and control one or more pumps within the oil production environment in relation to one or more sets of operating parameters associated with the one or more pumps. The method can also include generating, by the first computing device, an advisory statement based on the received pump sensor data. The advisory statement can identify a second pump and a second set of operating parameters associated with the second pump. The method can further include providing, by the first computing device, the advisory statement.
In another aspect, a non-transitory machine readable storage medium containing program instructions for automatically determining pumping methods within an oil production environment is provided. The program instructions contained on the machine readable storage medium can perform operations including receiving pump sensor data, by a first computing device including a data processor. The pump sensor data can be generated by one or more sensors affixed to the first pump operating within an oil production environment according to a first set of operating parameters associated with the first pump. The one or more sensors coupled to the computing device via a supervisory control and data acquisition system can be configured with a plurality of computing devices, linked via a network, to monitor and control one or more pumps within the oil production environment in relation to one or more sets of operating parameters associated with the one or more pumps. The program instructions contained on the machine readable storage medium can also perform operations including generating an advisory statement, by the computing device. The advisory statement can be generated based on the received pump sensor data. The advisory statement can identify a second pump and a second set of operating parameters associated with the second pump. The program instructions contained on the machine readable storage medium can also perform operations including providing, by the computing device, the advisory statement.
These and other features will be more readily understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
It is noted that the drawings are not necessarily to scale. The drawings are intended to depict only typical aspects of the subject matter disclosed herein, and therefore should not be considered as limiting the scope of the disclosure.
Improving well production in an oil production environment can be an important goal for environment operators. Maintaining and operating refinery equipment, such as well pumps, motors, and valves, at optimal operating conditions can be used to achieve maximal oil production from a particular oil well site. Oil production environments can be configured with a large variety of machinery used to collect, process, and distribute oil. The machinery is frequently interfaced to sensors that are configured to collect sensor data pertaining to a particular operating parameter or measurement variable associated with the machinery. Typically, such sensor data can provide environment operators with insight about the production rate, pump operating parameters, and immediate or historical performance of the well or the pumps configured at the well. Sensor data can be analyzed and processed manually to determine if the well is operating as efficiently as possible according to previously determined pumping methods and to determine alternate pumping methods which may be more productive if employed at a well, but manual analysis and data processing of pumping methods can be error prone and time consuming.
Sensor data collected from the well pumps can be used in monitoring and control applications called advisory systems, which are frequently configured within SCADA systems. The SCADA system can include computing devices that are networked to the pumps, sensors, and other computing devices so that the system can collect and process the sensor data in order to generate advisory statements or data which can describe an operational state of the pumps being monitored. The advisory data can be generated by an advisory system that is configured on one of the computing devices in the SCADA system. The advisory system includes a memory storing logic and operating condition data that are used to evaluate sensor data received from a pump and perform analysis regarding the current operating state of the pump. For example, the advisory system can receive sensor data indicating that a pump is vibrating excessively and threatening the continued operation of the pump. The advisory system can generate an alarm so that operators can evaluate the sensor data and the pump operation further.
Advisory systems can be useful for indicating inefficient operating conditions, eminent failure conditions, and trend data associated with the current operation of the pump, however advisory systems typically lack sufficient logic or processing capabilities to adequately determine and provide alternate pumping methods and operating parameters which, when implemented, are more likely to avoid, adjust, or otherwise correct the inefficient pumping methods and operating conditions. Legacy advisory systems can provide indicators, such as alarms, notifications, and reports about machinery exceeding operational thresholds, but often these systems are not configured to generate advisory statements that identify alternate pumping equipment, pumping methods, and the corresponding operating parameters associated with the alternate pumps and pumping methods. By upgrading legacy advisory systems to include analysis and processing components that can generate advisory statements which identify new or alternate pumping methods, wells can be configured with suitable pumps and operating parameters necessary to maintain production at high rates and reduce the incidence of failure conditions. As a result, some implementations of the improved advisory system can automatically determine pumping methods that will generate maximal oil production rates with reduced downtime and less reliance on manual resources for one or more wells in an oil production environment. The advisory systems can also utilize the sensor data to determine performance optimizations for the well or the machinery operating at the well site. For example, an advisory system can generate advisory statements indicating a production optimization that can be achieved based on the current sensor data and the operating conditions that the advisory system is monitoring. The advisory statement may indicate “Well-242: potential to generate additional 200 barrels per day by increasing pump motor speed”.
An improved advisory system is provided herein including systems, methods, and computer-readable mediums for automatically determining pumping methods to be implemented in an oil production environment and generating advisory statements including the determined pumping methods. Sensor data identifying operational data associated with the pump to which the sensors are coupled can be received by a first computing device. The first computing device can include a remote terminal unit, a field controller and a field gateway. The first computing device can be located at a well sight and can transmit the sensor data to a second computing device, which may be located remotely from the first computing device. The second computing device can be configured with a memory including a database, an advisory system and an integrator. The received sensor data is processed on the second computing device by the advisory system and advisory statements are generated. In some embodiments, the advisory statements can be generated by analyzing historical downhole pressure data, as well as pump motor parameter trends. The parameter trends will indicate changes (e.g., dramatic or gradual changes) in the downhole parameters of the wellbore and the pump. The advisory system can process the parameter trends to determine if the current pumping method is acceptable for the existing conditions.
The advisory system can also process operational data associated with the current pumping method such as tubing size, casing size, deviation survey data, and perforation depth to determine the suitability of the current pumping method. The advisory system can employ a pump selection algorithm to determine an alternate pumping method from a predefined database. The pumping method can include a pump type, pump size, pump model.
Upon selecting the alternate pumping method, the advisory system can perform a simulation using the current downhole intake pressure value and historical downhole intake pressure values. The advisory system can determine the decay rate of the downhole intake pressure values and can translate the decay rate into a flow rate. In this way, the advisory system can better determine a frequency range suitable to maintain the downhole intake pressure value at an acceptable value for as long as possible.
For example, after installing an electric submersible pump (ESP) in an oil well and operating the pump for a period of time, the downhole intake pressure began to slowly, and consistently decrease. The advisory system initiated providing notifications to the user to decrease the pump motor speed in order to adjust the pump motor speed with respect to the decreasing downhole intake pressures. At a certain point, the ESP speed or frequency cannot be adjusted lower as it may require the ESP to operate outside the operational state specified for the ESP.
Upon determining that further adjustments cannot be applied to the ESP operation, the advisory system can analyze the downhole intake pressure values and the operational data associated with the current pumping method. The advisory system can search the predefined database to determine an alternate pumping method. The advisory system can perform a simulation of the alternate pumping method to forecast the flow rate at optimum operating conditions. If the forecast indicated the alternate pumping method will cause slightly lower production rates, but better stability and continuity, the advisory system can generate the advisory statement identifying the alternate pumping method. If the advisory system determines the alternate pumping method does not provide any improvement, the advisory system evaluates subsequent, additional pumping methods in the predefined database. If the advisory system determines that no pumping methods will forecast better production rates, stability, or continuity, the advisory system will not generate an advisory statement and instead provide a notification of the expected ESP failure.
Thus, the advisory statements include data identifying an alternate pumping method to be configured at the well in order to maintain efficient well production and safe operation of the well equipment. The improved advisory system can also utilize the sensor data to determine performance optimizations for the well or the pump operating at the well site. For example, the improved advisory system can generate advisory statements indicating a production optimization can be achieved based on the current sensor data and the operating conditions that the advisory system is monitoring. The improved advisory system can generate advisory statements that can indicate a production gain to be achieved if the current pump is replaced with an alternate pump and operated at particular operating parameters. For example, the improved advisory system can generate an advisory statement such as “Well-242: potential to generate additional 200 barrels per day by replacing the progressive cavity pump (PCP) with an electric submersible pump (ESP) and operating the ESP at 56.3 Hz”.
In this way, pump operators can be warned of inefficient or dangerous operating conditions based on existing pumping methods and operating parameters and can automatically receive new or alternate pumping methods and operating parameters to configure in the oil production environment in order to maintain production rates and safe operating conditions at a well site. Some implementations of the improved advisory system described herein can reduce the requirement for manual analysis and data processing necessary to determine new or alternate pumping methods and can further enable better real-time monitoring and control compared to legacy systems. Some implementations of the improved advisory system can provide cost benefits associated with extending the life of the well site pumps and equipment, reduced maintenance and fewer pump replacements, improved water cuts, and greater production rates from the oil production environment.
Embodiments of systems and corresponding methods for automatically determining pumping methods are discussed herein. However, embodiments of the disclosure can be employed for determining alternate equipment and operating parameters for other types of machinery, such as compressors, valves, or the like in an oil production environment without limit.
The oil production environment 105 includes a plurality of wells 110, such as wells 110A-110C. The wells may be configured to generate oil and can be configured with one or more pumps that are operable to pump the oil from sub-surface formations into processing systems configured to collection, process and distribute the oil further. Each of the wells 110 and the machinery associated therewith can be configured with one or more sensors to monitor various aspects of the operation of the well machinery and the well as a whole. The sensors can be coupled via a network to the SCADA system 115.
The SCADA system 115 can include a first computing device such as the data acquisition and control device 120, a pump optimization server 130, and a client device 165. The data acquisition and control device 120 can include a remote terminal unit 125. The data acquisition and control device 120 can be configured to receive sensor data from sensor-coupled machinery associated with each of the wells 110 and transmit the sensor data to the pump optimization server 130. The data acquisition and control device 120 can be located in proximity to the machinery of wells 110 and can be further configured to transmit control signals to the machinery associated with each of the wells 110. The remote terminal unit (RTU) 125 can be configured as an interface connecting the sensor-coupled machinery to the pump optimization server 130 and can be configured to apply parameter settings to the machinery at one or more well sites. The RTU 125 is a kind of data communication module that is configured to perform serial communications using the MODBUS protocol. The RTU 125 reads the data from multiple devices at the well site in real-time or near real-time and writes to some parameters if the RTU 125 receives a write command from the field controller 135.
The SCADA system 115 also includes a second computing device, such as the pump optimization server 130. In certain aspects, the pump optimization server 130 can be a cloud computing server of an infrastructure-as-a-service (IaaS) and be able to support a platform-as-a-service (PaaS) and software-as-a-service (SaaS) services. The pump optimization server 130 can be implemented remotely from the data acquisition and control device 120 and can be configured by the client device 165. The client device 165, the pump optimization server 130, and the data acquisition and control device 120 can communicate with each other via a network. The network can include, for example, any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Further, the network can include, but is not limited to, any one or more of the following network topologies, including a bus network, a star network, a ring network, a mesh network, a star-bus network, tree or hierarchical network, and the like.
As shown in
The pump optimization server 130 includes a field collector/controller 135 which can collect the data from the RTUs and can verify the validity of the collected data. The field collector/controller 135 then transmits the data a field gateway (not shown), where the field gateway writes the data into a memory, such as the memory 160. In addition, the field collector/controller 135 can receive operating parameters and control commands from the advisory system 140. The field collector/controller 135 can further transmit or write the operating parameters and control commands to the RTU who, in turn, may provide the operating parameters and control commands to the corresponding device (e.g. the pump control drive or motorized valves which may be coupled to the pump).
The pump optimization server 130 also includes an advisory system 140. The advisory system 140 can include logic and executable instructions which can be configured to analyze the received sensor data and to compare the sensor data to operating parameters and operating settings stored in memory 160 or in a database configured within memory 160. The advisory system 140 can generate advisory statements in response to situations in which the sensor data indicates a pump is operating outside of expected operating parameters possibly indicating an existing or impending failure of the current pump and pumping method.
As further shown in
As shown in
The advisory system 140 can call or request the pump modeling system 155 generate a new or suggested pump and operating parameters of the pump which can be deployed at the well site as a new or alternate pumping method. The pump modeling system 155 can employ an algorithm based on a customer database which can include well information, pump configurations and installation data of pumps at well sites, drilling reports, deviation surveys, and the like. The algorithm can include inputs such as the received sensor data, as well as the outputs of the pump optimization system 145. The pump modeling system 155 can then generate new or alternate pumps, pumping methods, and operating parameters to include in an advisory statement generated by the advisory system 140. The algorithm can be configured so that the existing pump and pumping method associated with the received sensor data is not considered as a candidate for a new or alternate pumping method and is removed from a pool of potential pumps and pumping methods that can be considered as the new or alternate pumping method. In this way, the pump modeling system 155 can efficiently select a new or alternate pump and pumping method which is most likely to remedy the inefficient pumping method, thus making the advisory system 140 more accurate and efficient in generating advisory statements identifying pumping methods which are mostly likely to maintain or improve production rates and safe operation of the well equipment.
The advisory statements can include data identifying a new or alternate pumping method and can also include a new or alternate pump type, a model number of the new or alternate pump, and new or alternate operating parameters such as a frequency at which to operate the new or alternate pump.
As shown in
As further shown in
As shown in
In operation, the system 200 shown in
The advisory system 140 receives the sensor data from the data acquisition and control device 120 and performs analysis of the sensor data in regard to the operating parameters. The advisory system 140 can determine that replacing the ESP with a PCP and operating the PCP at 52.4 Hz would produce an additional 300 barrels of oil per day. The advisory system 140 can determine the new pumping method based on the sensor data associated with the variable speed drive 230 as well as the downhole sensor 230 data indicating that while current production is acceptable, the sensor data indicates high vibration, excess gas, increased water cut, or gradual declines in flow line pressures indicating a new pumping method should be considered to maintain production rates. The advisory system 140 can generate an advisory statement indicating the new pumping method to be deployed at the well site to maintain or even improve production rates.
The advisory system 140 can transmit the advisory statement to the client device 165 where it can be provided to an operator of the well via the display 180. In some embodiments, the advisory statement can be stored in the pump database 170 and/or the memory 175. The operator can then receive the advisory statement and take action to coordinate replacing the existing ESP with a PCP to be operated according to the operating parameters included in the advisory statement.
For example, in operation 305, first computing device, such as the data acquisition and control device 120, receives pump sensor data associated with a first pump. The pump sensor data can include sensor data from a well head pressure sensor, a flow line pressure sensor, a casing pressure sensor, a downhole sensor, and a pump motor speed sensor such as a variable speed drive sensor.
In operation 310, the data acquisition and control device 120 transmits the pump sensor data to a second computing device, such as the pump optimization server 130. In operation 315, the pump optimization server 130 generates an advisory statement. The advisory system 140, configured on the pump optimization server 130, processes the received pump sensor data to generate the advisory statement. The advisory statement can be generated based on comparing the received sensor data to one or more operating parameters stored in the memory 160.
In operation 320, as an interim step of generating the advisory statement, the pump optimization server 130 determines a second pump and operating parameters associated with the second pump. The new pumping method can be determined after processing historical data of the downhole sensor 225 which can indicate that the existing pumping method is no longer the most efficient to generate the best production or is no longer suitable for the existing downhole conditions. The pump optimization server 130 can evaluate the alternative pumping methods included in the predefined database 150. The predefined database 150 can include lists of pump models, pump types, pump sizes, as well as the capacity of different pumping units. The pump optimization server 130 can select an alternate pumping method by evaluating the existing tubing and casing sizes and to iteratively search the predefined database 150 using a reductive search minimization technique to identify pumping methods which comply with the existing tubing and casing sizes. The pump optimization server 130 can then evaluate a filtered list of suitable pumping methods and perform simulations of the productivity each alternate pumping method can achieve based on the historical data of the downhole pressures. The pump optimization server 130 can perform the simulations based on the available pump performance models associated with each alternative pumping method in the filtered list. The simulation results can be sorted based on the production rates and pump speed associated with the highest performing alternative pumping methods.
For example, the pump optimization system 145 can process the received sensor data to determine whether or not an optimization of the first (and currently deployed) pump can be achieved. If the pump optimization system 145 determines there is potential for additional optimizations of the first pump, the pump optimization system stores the received sensor data in a database, such as a database configured in memory 160. If the pump optimization system 145 determines that no potential for pump optimizations exist, the pump optimization system 145 determines if the received sensor data corresponds to the best and more efficient operating conditions for the pump. In response to determining the received sensor data indicates the pump is operating at an acceptable operating condition, the pump remains in operation and no advisory statement is generated. In response to determining the received sensor data indicates the pump is not operating at an acceptable operating condition, a new pumping method is requested from the pump modeling system 155. The pump modeling system 155 processes the received sensor data and applies an algorithm to select a new pumping method from a pump database 170 implemented on the client device 165. In some embodiments, the pump database can be stored in the memory 160 of the pump optimization server 130. As a result of completing the selection of the second pump and operating parameters associated with the second pump, the advisory system 140 generates the advisory statement.
In operation 325, the pump optimization server 130 transmits the advisory statement to a third computing device, such as the client device 165. Once received, in operation 330, the client device 165 can provide the advisory statement via a display configured on the client device, such as the display 180. The advisory statement can also be stored in the pump database 170 and/or the memory 175.
In operation 335, the SCADA system 115 can iteratively perform operations 305-330 based on one or more time intervals. Time intervals can include intervals of minutes, such intervals that are 5-15, 15-30, 30-60, or 60-180 minutes in duration. Time intervals can further include intervals of days, such as intervals that are 0.5-1, 1-3, or 3-5 days in duration.
The GUI 400 shown in
As shown in
As shown in the non-limiting examples illustrated in
As shown in
Exemplary technical effects of the methods, systems, and devices described herein include, by way of non-limiting example, automatically determining a pumping method within an oil production environment. By automatically generating advisory statements including new or alternate pumping methods, maximal production rates and reduced equipment downtime can be achieved at well sites within oil production environments without requiring additional human or computing resources to manually process sensor data which may indicate an existing pumping method is insufficient. Thus the system represents an improvement of computer functionality within a SCADA system that manages pumps or other well equipment based on the sensor data. In this way, the improved system 200 for automatically determining pumping methods can provide faster, more reliable instructions to configure pumping methods within the oil production environment in order to maintain pump operation and/or well production as close as possible to desirable operating goals.
Certain exemplary embodiments have been described to provide an overall understanding of the principles of the structure, function, manufacture, and use of the systems, devices, and methods disclosed herein. One or more examples of these embodiments have been illustrated in the accompanying drawings. Those skilled in the art will understand that the systems, devices, and methods specifically described herein and illustrated in the accompanying drawings are non-limiting exemplary embodiments and that the scope of the present invention is defined solely by the claims. The features illustrated or described in connection with one exemplary embodiment may be combined with the features of other embodiments. Such modifications and variations are intended to be included within the scope of the present invention. Further, in the present disclosure, like-named components of the embodiments generally have similar features, and thus within a particular embodiment each feature of each like-named component is not necessarily fully elaborated upon.
The subject matter described herein can be implemented in analog electronic circuitry, digital electronic circuitry, and/or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto-optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.
The techniques described herein can be implemented using one or more modules. As used herein, the term “module” refers to computing software, firmware, hardware, and/or various combinations thereof. At a minimum, however, modules are not to be interpreted as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor readable recordable storage medium (i.e., modules are not software per se). Indeed “module” is to be interpreted to always include at least some physical, non-transitory hardware such as a part of a processor or computer. Two different modules can share the same physical hardware (e.g., two different modules can use the same processor and network interface). The modules described herein can be combined, integrated, separated, and/or duplicated to support various applications. Also, a function described herein as being performed at a particular module can be performed at one or more other modules and/or by one or more other devices instead of or in addition to the function performed at the particular module. Further, the modules can be implemented across multiple devices and/or other components local or remote to one another. Additionally, the modules can be moved from one device and added to another device, and/or can be included in both devices.
The subject matter described herein can be implemented in a computing system that includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, and front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
Approximating language, as used herein throughout the specification and claims, may be applied to modify any quantitative representation that could permissibly vary without resulting in a change in the basic function to which it is related. Accordingly, a value modified by a term or terms, such as “about,” “approximately,” and “substantially,” are not to be limited to the precise value specified. In at least some instances, the approximating language may correspond to the precision of an instrument for measuring the value. Here and throughout the specification and claims, range limitations may be combined and/or interchanged, such ranges are identified and include all the sub-ranges contained therein unless context or language indicates otherwise.
One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the present application is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated by reference in their entirety.