Compact aero-thermo model based control system estimator starting algorithm

Systems and methods for controlling a fluid based engineering system are disclosed. The systems and methods may include a model processor for generating a model output, the model processor including a set state module for setting dynamic states of the model processor, the dynamic states input to an open loop model based on the model operating mode. The model processor may include an input object for processing model input and setting a model operating mode, the model operating mode being a starting mode if the model input is within a data range associated with a starting operation of the control device. The model processor may further include an estimate state module for determining an estimated state of the model based on a prior state model output and the current state model of the open loop model.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a US National Stage under 35 USC § 371 of International Patent Application No. PCT/US14/27780 filed on Mar. 14, 2014 based on U.S. Provisional Patent Application Ser. No. 61/800,440 filed on Mar. 15, 2013.

TECHNICAL FIELD OF THE DISCLOSURE

The present disclosure relates to the design and control of engineering systems, and more particularly, to design and control of fluid-based engineering systems.

BACKGROUND OF THE DISCLOSURE

Fluid-based engineering systems are widely used and may include gas turbine engines for aviation and power generation, HVAC&R (heating, ventilation, air-conditioning and refrigeration), fuel cells, and other, more generalized fluid processing systems for hydrocarbon extraction, materials processing, and manufacture. These systems may contain any or all of the following components: turbo-machinery, fuel cell stacks, electric motors, pipes, ducts, valves, mixers, nozzles, heat exchangers, gears, chemical apparatuses and other devices for generating or modifying a fluid flow.

Each of these applications places different operational demands on the engineering control system. In gas turbine engine applications, for example, the relevant cycle is typically a Brayton turbine or first Ericsson cycle, and the basic thermodynamic parameters (or process variables) are the pressure, temperature and flow rate of the working fluid at the inlet, compressor, combustor, turbine, and exhaust. The parameters may be related to the overall thrust, rotational energy, or other measure of power output. In order to precisely control this output while maintaining safe, reliable and efficient engine operation, the engineering control system must be fast, accurate, robust, and provide real-time control capability across all required performance levels. While the relevant process variables vary depending on the system type and configuration, the need for precise, efficient and reliable engineering control remains the same, as do the economic constraints on overall cost and operational/maintenance requirements.

Further, because direct measurements of system parameters controlled may not be possible (due to undeveloped technology, prohibitive cost, unreliable equipment, etc.), the control system may require real time estimation of system parameters. System parameters may be mathematical abstractions of engineering systems and/or process for a given set of measured inputs used as control feedback.

In the past, control systems for such fluid-based engineering systems relied on piecewise linear state variable representations. These control systems, by their nature, were limited to relatively simple non-linear systems. Another approach used in the past relies on semi-empirical relationships that tie important system parameters to control sensors; the drawback of such a system is that it may lack accuracy and is expensive due to the additional hardware required for implementation. Other attempts have been made to deploy stationary simulations in a retail environment; however, by their nature, these models are large, use iterative solvers, have high maintenance cost and lack robustness critical in a real time environment.

A known approach to modern fluid-based engineering system control is the use of component level physics based non-iterative mathematical abstractions of fluid-based engineering systems. These mathematical abstractions are conceptualized in a software environment specific to the applied fluid-based engineering system. Such example systems and methods for engineering system control are further detailed in U.S. Pat. No. 8,090,456 (“System and method for design and control of engineering systems utilizing component-level dynamic mathematical model”), which is hereby incorporated by reference.

In such control systems, the system may experience computational inaccuracies when the fluid based engineering system is starting operation from a rested state. Starting conditions may have a detrimental effect on performance of a control system. As such, a need exists for an engine parameter on-board synthesis (EPOS) in the real-time control system of a fluid based engineering system that may overcome the computational inefficiencies of prior EPOS models.

SUMMARY OF THE DISCLOSURE

In accordance with an aspect of the disclosure, a control system is disclosed. The control system may include an actuator for positioning a control device comprising a control surface, wherein the actuator positions the control surface in order to control a model state. The system may include a control law for directing the actuator as a function of a model output. The control system may include a model processor for generating the model output, the model processor including an input object for processing model input and setting a model operating mode, the model operating mode being a starting mode if the model input is within a data range associated with a starting operation. The model processor may include a set state module for setting dynamic states of the model processor, the dynamic states input to an open loop model based on the model operating mode, wherein the open loop model generates a current state model as a function of the dynamic states and the model input, wherein a constraint on the current state model is based a series of cycle synthesis modules, each member of the series of cycle synthesis modules modeling a component of a cycle of the control device and comprising a series of utilities, the utilities are based on mathematical abstractions of physical properties associated with the component. The model processor may further include an estimate state module for determining an estimated state of the model based on a prior state model output and the current state model of the open loop model and an output object for processing the estimated state of the model to determine the model output.

In a refinement, the data range associated with the starting operation of the control device may be values under a threshold idle condition of the control device.

In a refinement, the data range associated with the starting operation of the control device may be values under a threshold condition for starting the control device.

In a refinement, the starting mode may include replacement model input values for the values that are outside of the data range associated with the starting operation of the control device.

In a refinement, the input object may used a spool speed value of the model input to determine if the model input is within a data range associated with a starting operation of the control device.

In a further refinement, the starting mode may include replacement values for spool speed values within the data range associated with the starting operation of the control device for replacing spool speed values that are outside of the data range associated with the starting operation of the control device.

In a refinement, the model input may include one or more of raw effector data, boundary conditions, engine sensing data, unit conversion information, range limiting information, rate limiting information, dynamic compensation determinations, and synthesized lacking inputs.

In a refinement, the control device may be a gas turbine engine

In a further refinement, the one or more cycle synthesis modules are based on one or more mathematical abstractions of physics states associated with an element of a cycle of the gas turbine engine.

In accordance with another aspect of the disclosure, a method for controlling a control device is disclosed. The method may include generating a model output using a model processor. The control system may include a model processor for generating the model output, the model processor including an input object for processing model input and setting a model operating mode, the model operating mode being a starting mode if the model input is within a data range associated with a starting operation. The model processor may include a set state module for setting dynamic states of the model processor, the dynamic states input to an open loop model based on the model operating mode, wherein the open loop model generates a current state model as a function of the dynamic states and the model input, wherein a constraint on the current state model is based a series of cycle synthesis modules, each member of the series of cycle synthesis modules modeling a component of a cycle of the control device and comprising a series of utilities, the utilities are based on mathematical abstractions of physical properties associated with the component. The model processor may further include an estimate state module for determining an estimated state of the model based on a prior state model output and the current state model of the open loop model and an output object for processing the estimated state of the model to determine the model output. The method may further include directing an actuator associated with the control device as a function of a model output using a control law and positioning a control device comprising a control surface using the actuator, wherein the actuator positions the control surface in order to control the model state.

In a refinement, the data range associated with the starting operation of the control device may be values under a threshold idle condition of the control device.

In a refinement, the data range associated with the starting operation of the control device may be values under a threshold condition for starting the control device.

In a refinement, the starting mode may include replacement model input values for the values that are outside of the data range associated with the starting operation of the control device.

In a refinement, the input object may use a spool speed value of the model input to determine if the model input is within a data range associated with a starting operation of the control device.

In a further refinement, the starting mode may include replacement values for spool speed values within the data range associated with the starting operation of the control device for replacing spool speed values that are outside of the data range associated with the starting operation of the control device.

In accordance with another aspect of the disclosure, a gas turbine engine is disclosed. The gas turbine engine may include a fan, a compressor section downstream of the fan, and a combustor section downstream of the compressor section, and a turbine section downstream of the compressor section. Further, the gas turbine engine may include an actuator for positioning the gas turbine engine comprising a control surface, wherein the actuator positions the control surface in order to control a model state. The gas turbine engine may include a control law for directing the actuator as a function of a model output. The gas turbine engine may include a model processor for generating the model output, the model processor including an input object for processing model input and setting a model operating mode, the model operating mode being a starting mode if the model input is within a data range associated with a starting operation. The model processor may include a set state module for setting dynamic states of the model processor, the dynamic states input to an open loop model based on the model operating mode, wherein the open loop model generates a current state model as a function of the dynamic states and the model input, wherein a constraint on the current state model is based a series of cycle synthesis modules, each member of the series of cycle synthesis modules modeling a component of a cycle of the gas turbine engine and comprising a series of utilities, the utilities are based on mathematical abstractions of physical properties associated with the component. The model processor may further include an estimate state module for determining an estimated state of the model based on a prior state model output and the current state model of the open loop model and an output object for processing the estimated state of the model to determine the model output.

In a refinement, the data range associated with the starting operation of the control device may be values under a threshold idle condition of the control device.

In a refinement, the data range associated with the starting operation of the gas turbine engine may be values under a threshold idle condition for starting the gas turbine engine.

In a refinement, the data range associated with the starting operation of the gas turbine engine may be values under a threshold condition for starting the gas turbine engine.

In a refinement, the gas turbine engine may further include a spool and the input object may use a spool speed value of the model input to determine if the model input is within a data range associated with a starting operation of the gas turbine engine.

In a further refinement, the starting mode may include replacement values for spool speed values within the data range associated with the starting operation of the gas turbine engine for replacing spool speed values that are outside of the data range associated with the starting operation of the gas turbine engine.

It should be understood that the drawings are not necessarily to scale. In certain instances, details which are not necessary for an understanding of this disclosure or which render other details difficult to perceive may have been omitted. It should be understood, of course, that this disclosure is not limited to the particular embodiments illustrated herein.

DETAILED DESCRIPTION OF THE DISCLOSURE

Referring to the drawings and with specific reference toFIG. 1, a control system for a fluid-based engineering system in accordance with the present disclosure is generally referred to by reference numeral100. Control demands may be generated by an operator interface140and may be received by the engine parameter on board synthesis (EPOS)110. For example, the operator interface140may be a real-time interface such as a cockpit navigation system and/or an operator workstation. Additionally or alternatively, the operator interface140may include another, more generalized process control interface, which is suitable for logging control commands to software control components150, including, for example, a guidance, navigation, and control computer or autopilot system(s). Further, control demands may be generated by an internal memory or any other internal programming operatively associated with software control elements150.

The control elements150may include EPOS110and a control law111that may generate and/or process control instructions for the apparatus130. The EPOS110and control law111may be implemented as software modules designed to monitor, control, or otherwise act in associative function with regards to an apparatus130. The control law111may obtain control feedbacks from the EPOS110and control commands from the operator interface140. The control law111may generate control requests in engineering units to be processed by hardware control elements120to control the apparatus130.

Additionally, the software control components150may include an output conditioner113and/or an input conditioner115to process output and/or input data for the data's respective input/output destination. The input to the EPOS110, provided by the input conditioner115, may be processed by fault detection and accommodation (FDA) logic117to detect range faults as well as in-range failures (e.g., rate-limit, cross-channel mismatch, etc.) and provide a reasonable input value along with a health status indication for the input.

Further, the hardware control components120may convert digital data generated by the software control components150to an analog form readable by the apparatus130(e.g., electrical signals), convert analog data generated by the apparatus130into digital data readable software components150, condition such input and output data for readability, and/or control actuators124associated with the apparatus130. The digital-to-analog convertor122can transform digital signals generated by the control law111into actuator requests. The actuators124may be one or more devices which use control hardware to position various control components of the apparatus130in accordance with instructions generated by the EPOS110. Actuators, such as the actuators124, may be designed to provide quick and accurate control of an apparatus.

Actuator sensors125may be included to measure various states of the actuators124, wherein the actuator states (or positions) may be related to the physical configuration of the various control components of the apparatus130. For example, fluid-based systems often include actuators whose linear or angular positions are sensed by actuator sensors124, and which are related to the physical position of control surfaces or other control devices located proximate to a compressor, combustor, turbine and/or nozzle/exhaust assembly.

Further, the hardware control components120may include apparatus system sensors126. The apparatus system sensors126may measure operational parameters associated with the apparatus130. For example, fluid-based systems may include apparatus system sensors126that measure the working fluid pressure, temperature and fluid flow at various axial and radial locations in the flow path. Apparatus system sensors126may comprise a variety of different sensing devices, including, but not limited to, temperature sensors, flow sensors, vibration sensors, debris sensors, current sensors, voltage sensors, level sensors, altitude sensors and/or blade tip sensors. Apparatus system sensors126may be positioned to measure operational parameters related to the function of apparatus130, e.g., parameters related to control commands submitted to EPOS110and control requests generated by EPOS110in order to direct actuators124to control apparatus130.

Both the apparatus system sensors126and the actuator sensors125may produce electrical signals based upon a read-out result from said sensors. The electrical signals produced by the actuator sensors125and the apparatus system sensors126may be transmitted to an analog-to-digital convertor123. The analog-to-digital convertor may convert the electrical signals into digital signal data which may be compatible with and read by the EPOS110after processing by the input conditioning module115.

The apparatus130may be any fluid-based engineering system. Example fluid-based engineering systems may include gas turbine engines for aviation and power generation, HVAC&R (heating, ventilation, air-conditioning and refrigeration), fuel cells, and other, more generalized fluid processing systems for hydrocarbon extraction, materials processing, and manufacture. In various embodiments, the physical components of apparatus130include, but are not limited to including, compressors, combustors, turbines, shafts, spools, fans, blowers, heat exchangers, burners, fuel cells, electric motors and generators, reactor vessels, storage vessels, fluid separators, pipes, ducts, valves, mixers and other fluid processing or flow control devices.

In some examples, the apparatus130may perform a thermodynamic cycle on a working fluid in order to generate rotational energy, electrical power or reactive trust, to provide heating, ventilation, air conditioning and refrigeration, or to perform other fluid processing functions. The range of available cycles includes, but is not limited to, the following cycles and their derivatives: Otto cycles, Diesel cycles, Brayton turbine (or first Ericsson) cycles, Brayton jet (Barber/Joule) cycles, Bell-Coleman (reverse Brayton) cycles, Ericsson (Second Ericsson) cycles, Lenoir (pulse-jet) cycles, and Carnot, Stoddard and Stirling cycles. Additionally or alternatively, apparatus130may perform a number of individual thermodynamic processes for heating, cooling, flow control, or for processing applications in agriculture, transportation, food and beverage production, pharmaceutical production, or manufacturing, or for the extraction, transportation or processing of a hydrocarbon fuel. The range of available thermodynamic processes includes, but is not limited to, adiabatic, isothermal, isobaric, isentropic, and isometric (isochoric or isovolumetric) transformations, exothermic reactions, endothermic reactions and phase changes.

In the present example, the apparatus130is a gas turbine engine. As such, the monitored aspects of the apparatus130may include, but are not limited to, a compressor, combustor, turbine and/or nozzle/exhaust assembly. In an application for a gas turbine engine, the input and output values received/generated by the EPOS110may be vectors representing values for positions (i.e., nozzle areas, variable vane angles, flow path areas, etc.), states, and actual sensed values of parameters (i.e., spool speeds, gas path temperatures, pressures proximate to components, flow rates proximate to components, etc.) related to the components of a gas turbine engine (i.e., a compressor, combustor, turbine and/or nozzle/exhaust assembly, etc.).

The data processed by the EPOS110are vectors containing parameters related to functions of the apparatus130. Example input vectors for the EPOS110may include an external inputs vector (UE) and a corrector truth vector (YCt). UEmay contain values for external inputs to be processed by the EPOS110. UEmay describe the configurations, positions and states of various control elements in the apparatus130. In a gas turbine engine, for example, individual elements of external inputs vector UEmay have a set of values related to effector position; these effector position values may describe fuel flow rates, nozzle areas, variable vane angles, flow path orifice areas, and other control element parameters. Further, UEmay have a set of values related to boundary conditions related to the operation of apparatus130. Some boundary conditions may be directly measured by apparatus system sensors126, such as fluid temperatures, pressures and flow rates at physical boundaries of apparatus130. In fluid-based applications, the boundary conditions may include boundary flow conditions and inlet and outlet locations. Other boundary conditions specific to aircraft applications include, but are not limited to, flight velocity, altitude, and bleed or power extractions parameters.

The corrector truth vector YCtmay contain data associated with real time execution of the control system and describe the actual (sensed) values of the parameters related to the operation of apparatus130. The elements of YCtmay be based on measurements taken by the actuator sensors125and/or the apparatus system sensors126. Further, elements of YCtmay be based on values derived from a well-understood and trusted model of sensed parameters; for example, a flow rate model based on a differential pressure drop across a Pitot tube or Venturi tube. For gas turbine engines, typical YCtvector elements include, but are not limited to, spool speeds, gas path temperatures, and/or pressures all values of which may be proximate to engine components such as compressors, combustors, and turbines. In the context of non-real time applications, including calibration, YCtmay correspond to high fidelity data which can either be physically tested or model-based.

Employing the compact aero-thermal model (CAM) of the present disclosure,FIG. 2illustrates an embodiment of the EPOS110ofFIG. 1in further detail. The EPOS110ofFIG. 2may include, but is not limited to including a CAM input object220, a compact aero-thermal model (CAM) object230, and a CAM output object240. The EPOS110may receive raw input data related to vectors UERawand YCtRaw. UERawmay contain values obtained from the actuator sensors125, the apparatus system sensors126and/or any other associated sensors and/or inputs. YCtRawmay contain values obtained from the actuator sensors125, the apparatus system sensors126and/or any other associated sensors and/or inputs.

The CAM input object220may package selected values from the received input UEvector into an input vector UE_in. Similarly, the CAM input object220may package selected values from the received input into an input corrector truth vector, YCt_in. Further, the vectors UE_inand YCt_inmay then be conditioned to protect the input values; this may be done by range limiting the values, by constraining the values based on instructions, and/or by performing any additional input modifications function on the vectors. The CAM input object220may also use the input vectors received to determine an operating mode (OpMode) for the FADEC110. The input conditioning module220may output a conditioned external input vector UE, a conditioned truth vector YCt, and an OpMode vector.

The input validity of the vector values may be ensured by fault detection and accommodation logic (e.g., through processing from the FDA logic117) specific to each sensor input of the CAM input object220. The fault detection and accommodation logic detects range faults as well as in-range failures (i.e., rate-limit, cross-channel mismatch, etc.) and provides a reasonable value in all cases along with a health status indication. An example CAM input object220is described in greater detail below with reference toFIG. 3.

The output of CAM input object220is received by the CAM object230. The CAM object230may contain aero-thermal representations, or component modules, of engine components. The component modules within the CAM object230may operate according to the system's constraints related to mathematical abstractions of physical laws that govern behavior of the apparatus130(i.e., laws of conservation of energy, conservation of mass, conservation of momentum, Newton's 2ndlaw for rotating systems, and/or any additional known calculable physics model). The system constraints for each contained module within the CAM object230may have specific constraints programmed within to simulate a monitored area and/or function of the apparatus130(i.e., a bypass duct bleeds module, a low spool compressor module, a burner module, a parasitic power extraction module, etc.).

The CAM object230may use the input vectors along with internal solver states, representing on-board corrector states, solver states, and physics states, while functioning. The solver states may be introduced to address fast dynamics, resolve algebraic loops and smooth highly non-linear model elements. The CAM object230may output a synthesized parameters vector Y. The vector Y may be estimated in relation to the operating range determined by the CAM object230. An example CAM object230is described in greater detail below with reference toFIG. 4.

The output of the CAM object230may be received by the CAM output object240. The CAM output object240may post-process select CAM outputs that are needed by consuming control software and/or hardware. For some outputs, the CAM output object240may perform a unit conversion, may apply a test adder, and/or may perform interpolation between ambient conditions and/or CAM output during starting operation. The CAM output object240may unpack the Y vector into values specific values desired by related components (i.e., temperatures, pressures, flows, sensor temperatures, and/or other output synthesis). The CAM output object240may also output inter-component station flows, temperatures, pressures, and/or fuel to air ratios, torque, thrust, bleed flows, and/or compressor and turbine case clearances. The CAM output object240may also indicate the current status (e.g., the aforementioned “OpMode” operating mode) as determined by the EPOS110. An example CAM output object240is described in greater detail below with reference toFIG. 10.

Returning to the CAM input object220,FIG. 3illustrates an exemplary embodiment of the CAM input object220ofFIG. 2. The CAM input object ofFIG. 3may include a UEvector packager310, a YCtvector packager320, an OpMode Determiner330, and an input protection module340. The UEvector packager may receive vector UERawand the UEvector packager310may select the desired values from the input vectors and may create vector UE_in, which may be output to the input protection module340. The UEvector packager310may also be used for unit conversion and for synthesizing values for UEwhich may not be present. Similarly, the YCtvector packager may receive vector YCtRaw. The YCtvector packager310may select the desired values from the input vectors and may create vector YCt_in, which may be output to the input protection module340.

The OpMode determiner330may establish the operating mode of the CAM object230based on the health status of input values that are necessary to run in each operating mode. The health status may include status of control sensors determined by the FDA logic117, as well as internally generated information by the CAM object230, such as conditions of internal states and outputs. The OpMode determiner330may operate using a logic design that seeks the highest fidelity mode based on available inputs and may fall back to decreased fidelity modes to accommodate faults. The operating mode determined by the OpMode determiner330is one of a programmed list of operating modes related to the function of the apparatus130and based on the input vector values and/or the condition of CAM states and/or outputs. The functions of various downstream elements may be affected by the resulting operating mode determined by the OpMode determiner330.

An operating mode may be affected by conditions, determined by the OpMode determiner330, when the apparatus130is starting or being shut down. During such functions, wherein the apparatus130is operating at a slow-idle or halted state, the EPOS110may have a limited range of operating conditions within which it can synthesize values and maintain sound numerical calculation; whereby, the range is less than the range of operating conditions that a real apparatus can encounter. Low engine speeds upon starting of the engine may create such limited range of operating conditions for the EPOS110.

Because there may be a minimum operating speed from which the EPOS110can operate, if the engine is starting or stopping the calculations of the EPOS110may not be numerically sound; therefore, the starting and stopping conditions should be isolated. The OpMode determiner330may provide a threshold for which, if parameters get below this threshold, the OpMode determiner330has backup values that it uses for parameters during starting mode. This provides stability for the EPOS110when starting the apparatus130, when halting the apparatus130, and/or at any other time in the engine cycle wherein the system idle is lower than the low end threshold for proper function of the EPOS110. Further, said adjustments also may be used in cases of sensor tolerances and sensor faults.

Once the OpMode of the CAM is determined, the input protection module340uses the OpMode vector and the input from the vector packagers310,320to determine input vectors UEand YCt. Said vectors are received by the CAM object230, illustrated in greater detail inFIG. 4.

The CAM object230may generate state vectors XC, XS, and XP. The physics state vector (XP) contains simulated parameters related to dynamics of the apparatus130during a time of interested, whose derivatives (XpDot) are calculated in an open loop model410. The vector XPmay include, but is not limited to including, spool shaft speeds, apparatus material temperatures, etc. The solver state vector XSmay contain values related to adjustments that are made to certain components of the apparatus130. These values may be adjustments to make up for errors coming from the CAM. The XCvector may contain values related to on-board corrector states, which are simulated component level values that are a refinement of the YCtvector to make the modeled YCvector comparable to the real values of YCt. Further, because the CAM object230may be implemented as a discrete real time simulation, the CAM object230may fully execute each dynamic pass of the simulation, each pass being denoted by letter k. The product of each simulation pass k and simulation time step dt is the simulation time. The values of k may increase sequentially by 1, (e.g. k=[1, 2, 3, . . . ]).

The set state module420may receive input of the UE, YCt, and OpMode vectors. Additionally, the set state module420may receive the prior state's values of the X vectors generated by the estimate state module440. InFIG. 4, the prior state is denoted by the state “(k−1).” The set state module420may override the states in the X vectors with a base point value; however, if the values do not need an override, the set state module420may act as a pass through element. The override functions of the set state module420may override the values within the X vectors with base-point (U) or external (YCt) values depending on the operating mode (OpMode) input to the CAM Module230. To obtain override values, the set state module420may look up base-point values for CAM states for use during initialization. The set state module420may also select an active subset of solver states. As output, the set state module420may generate corrector state (XC), solver state (XS), and physics state (XP) vectors for use in the open loop model410.

The open loop model410may consist of one or more cycle synthesis modules, each cycle synthesis module relating to a component, function, and/or condition associated with the apparatus130. In the present example, the open loop model410is composed of a variety of cycle synthesis modules that may represent components, functions and/or conditions associated with a cycle of apparatus130. The open loop module is not limited to any specific number of modules and may contain any number of modules that are used to simulate components, functions, and/or conditions associated with apparatus130. The open loop model410may receive input of the corrector state (XC), solver state (XS), and physics state (XP) vectors from the set state module420and the effector/boundary condition vector (UE). The values input to the open loop model410may be used as input to the various modules simulating the components of apparatus130. The open loop model410uses the values generated by the cycle synthesis modules to form a synthesized parameters vector Y(k) based on UE(k) and X(k). The synthesized parameters vector Y(k) contains synthesized cycle values determined from the simulated physics of the open loop module410and may be used for control of the apparatus130.

Showing the series of cycle synthesis modules,FIG. 5illustrates an example embodiment of open loop model410ofFIG. 4. The open loop model410may include a group of primary stream modules510, a group of secondary stream modules520, a group of additional modules530and a vector data packager540. The open loop model410may receive input of the corrector state (XC), solver state (XS), and physics state (XP) vectors, from the set state module420, and the effector vector (UE). The group of primary stream modules510, the group of secondary stream modules520, and the additional modules530all may receive input from the corrector state (XC), solver state (XS), and physics state (XP) vectors from the set state module420and the effector vector (UE). Further, the open loop module410is not limited to including the above mentioned groups of modules, but rather, the open loop module410may omit groups of modules and/or include other groups of modules. Any and all modules of the open loop model410may interact with one another to produce the output of each module.

Each module of the open loop module410may represent a component of the apparatus130and may be implemented by a library of utilities, wherein each utility may be a mathematical representation of the physical properties that make up various parts of component calculations. For example, utilities of the modules may include representations of compressors, turbines, bleeds, pressure losses, etc. that may be reusable throughout the CAM object230and may improve readability and maintainability of the EPOS110. These components may be built from physics representations of aerodynamic and thermodynamic processes. Each module may produce, for example, an output vector containing, for example, total pressure, total temperature, fuel/air ratio, and gas flow at the exit of the component, and/or any other parameter associated with the modeled portion of the apparatus130.

In some examples, the primary stream modules510may include, but are not limited to including, the following based on corresponding elements of the apparatus130: a CMP_L module605modeling a low spool compressor, a D_BLD_STB610module modeling a bleed associated with a low spool compressor, a D_CS_INT module615modeling a pressure loss associated with air flow passing through a duct of a compressor, a CMP_H module620modeling a high spool compressor, a D_I030625module modeling a pressure loss associated with instrumentation in a duct at the exit of a high spool compressor, a D_DIF_BURN module630modeling a diffuser, a BRN_PRI module635modeling a burner, a TRB_H module640modeling a high spool turbine, a TRB_L module645modeling a low spool turbine, a D_EGV_LT module650modeling a low turbine exit guide vane duct, a D_I0495 module655modeling pressure losses associated with probes aft of an exit guide vane duct, a D_I_NOZ_PRI module660modeling pressure losses related to air moving through a duct, the duct containing instrumentation probes, a D_TEC_NOZ module665modeling a primary nozzle duct, a D_NOZ_PRI module670modeling pressure losses associated with the primary nozzle duct, and a NOZ_PRI module675a primary nozzle. Additionally, the secondary stream modules520may include, but are not limited to including, the following based on corresponding elements of the apparatus130: an example CMP_F_SEC module705modeling a fan outer diameter compressor, a D_EGV_FO module710modeling a fan exit guide vane duct, a D_BLD_SEC module715modeling an exit duct between a low compressor and a high compressor, a D_AVE_140module720modeling a duct downstream of a B25 bleed, a D_BLD_NOZ_SEC module725modeling bypass duct bleeds of the apparatus130, a D_I_NOZ_SEC module730modeling a secondary nozzle duct, and a NOZ_SEC module735modeling a secondary nozzle. Further, there are several modules that are not associated with a particular stream, the modules530may include, but are not limited to including, the following based on conditions of the apparatus130: a POWER_EXTRACT module805modeling effects of energy and/or efficiency losses of the apparatus130, a FAN_ID_POWER module810modeling an accounting for power loss from a fan gear box of the apparatus130, and a TORQUE_BALANCE module815modeling an accounting for conservation of energy related to unsteady torque balance within the apparatus130, and a CALC_ERR_SLVR module820that forms solutions to errors detected in the OLM410. Further, any additional modules and/or groups of modules modeling any additional physical properties associated with the apparatus130may be included as part of the open loop model410.

The example modules ofFIG. 5may be designed using one or more physics-based configurable utilities. The configurable utilities may be contained in a library of subsystems within the EPOS structure. The open loop module440may compile the above mentioned modules from the subsystems of physics-based configurable utilities based on preprogrammed instructions and/or a user input.

Once data is processed throughout various modules of the open loop model410, the vector data packager540receives input data from the group of primary stream modules510, the group of secondary stream modules520, and the additional modules530. In addition to the synthesized parameters vector Y(k) based on the model state and input, the open loop model may also output a solver errors vector (ErrSlvr) related to the solver states vector (XS). Also, the open loop model410may collect and output a physics state derivatives vector (XPDot). The received data may be packaged by the vector data packager540in the form of vectors Y(k), ErrSlvr, and XPDot. Further, the vector data packager may package vector data into fewer vectors and/or additional vectors.

Certain utilities used to comprise said modules of the open loop model410may model gas-based properties and may represent, for example, specific heat as a function of temperature and fuel/air ratio, relative pressure as a function of enthalpy and fuel/air ratio, enthalpy as a function of temperature and fuel/air ratio, specific heat ratio as a function of temperature and fuel/air ratio, relative pressure as a function of temperature and fuel/air ratio, relative pressure as a function of temperature and fuel/air ratio, temperature as a function of enthalpy and fuel/air ratio, and/or gas constant and specific heat ratio as a function of temperature and fuel/air ratio. Other example utilities may model thermal conductivity as a function of gas total temperature, the absolute viscosity as a function of gas total temperature, critical flow parameters as a function of specific heat and a gas constant, coefficients of thermal expansion as a function of material temperature and/or type, material specific heat as a function of material temperature and/or type, and/or material thermal conductivity as a function of material temperature and type. Further, other utilities modeling other gas related functions may be present. Additionally or alternatively, any other utilities modeling any other properties associated with the apparatus130may be included.

Additionally, the modules comprising the open loop model410may include one or more configurable utilities. The configurable utilities may be complex representations of engine components. For example, a configurable utility may represent a particular physical effect in major engine components such as a compressor or a turbine. Each instance of a configurable utility may be selected to be one of several representations of the physical processes it models, even though the interface of the configurable model remains unchanged. Configurable utilities may reconfigure themselves to represent a particular component by switching the underlying configurable subsystems. Using such configurable utilities may benefit the maintainability of a software application of the open loop model430.

In an example embodiment, a configurable utility may be designed to model a Reynolds effect in the compressors of the apparatus130and may reconfigure itself to represent a particular component of the compressor (e.g., a high spool compressor, a low spool compressor, etc.). This example configurable, compressor Reynolds effect utility may be used in formation of cycle synthesis modules and may be used in modules simulating a low spool compressor (e.g., the CMP_L module605ofFIG. 5), a high spool compressor (e.g., the CMP_H module620ofFIG. 5), and/or any other module associated with a compressor simulation. Similarly, specific modules of the open loop model410may utilize a configurable utility to model Reynolds effect in the turbines of the apparatus130and may reconfigure itself to represent a particular component of the compressor.

In an example OLM410, a specific utility may model physical processes of a compressor of the apparatus130and may include representations of such physical processes as sub-utilities. Sub-utilities of an example compressor utility may include, but is not limited to including, basic physics utilities associated with the basic physics of the apparatus130(e.g., isentropic compression, laws of thermodynamics, ideal gas properties, etc.), a component aero-thermal map evaluation, gas-material heat transfer properties, models of component bleeds, torque components from adiabatic steady-state, and/or effects of scaling between map and cycle conditions (design, gas property, Reynolds effect, clearance, untwisting effects, etc.). The output of such a compressor utility may include, but is not limited to including, component exit gas flow conditions, bleed flows, swirl angles, total component inlet gas flows, torque extracted, and derivatives of material temperatures. A compressor utility may be operatively associated with other utilities (e.g., off-board correction look up tables with selectable scheduling parameters, a selector for enabling on-board and/or off-board correction for the component, etc.) to form a compressor-related module like, for example, the CMP_L module605and/or the CMP_H module620.

Another example of an OLM model utility is the turbine utility. Sub-utilities of an example turbine utility may include, but are not limited to including, basic physics utilities associated with the basic physics of the apparatus130(e.g., isentropic expansion, laws of thermodynamics, ideal gas properties, etc.), a component aero-thermal map evaluation, gas-material heat transfer properties, models of inlet guide vanes, models of consolidated turbine cooling bleeds, rotor inlet temperature calculation, turbine clearance effects, and/or effects of scaling between map and cycle conditions (design, gas property, Reynolds effect, clearance, untwisting effects, etc.). Outputs of such an example turbine utilities may include, but are not limited to including, component exit gas conditions, rotor inlet temperature, flows into the turbine, generated torque, material temperature derivatives, steady state material temperature at current conditions, material temperature time constants, radius of apparatus from thermal expansion, and/or clearance values. A turbine utility may be operatively associated with other utilities (e.g., off-board correction look up tables with selectable scheduling parameters, a selector for enabling on-board and/or off-board correction for the component, etc.) to form a compressor-related module like, for example, the TRB_H module640and/or the TRB_L module645.

Returning toFIG. 4, the sensing synthesis module430may model control sensor measurements that differ from corresponding average gas path engine station estimates packaged in Y due to regime/location effects in the sensor surroundings and sensor body thermal inertia. Receiving input of Y and the derivative physics state vector (XPDot), the sensing synthesis module430may act as another means of fault or error detection within the CAM module230.

Receiving input of Y(k), YC(k), XPDot(k), and/or ErrSlvr(k), the estimate state module440may use said inputs to determine the next pass value of CAM state vector X(k). The estimate state module440may scale and correct solver state error vector, select solver gain scheduling parameters, calculate solver state gains, calculate scale, and correct the corrector state error vector, integrate state derivatives, apply state integrator range limits, reset state integrators during initialization, detect saturated state integrators, and/or detect internal errors indicated by unreasonably large synthesized values.

The estimate state module440may receive input of the effector vector (UE), the synthesized parameters vector (Y), the on-board corrector state vector (XC), the physics state vector (XP), the solver state vector (Xs), the solver errors vector (errSlver), and the physics state derivatives vector (XPDot). The estimate state module440may output updated versions of the on-board corrector state vector (XC_ESM), the physics state vector (XP_ESM), and the solver state vector (XS_ESM). These vectors are the analyzed state vectors from the current iteration of the open loop model410.

The output of the estimate state module440is received by the CAM output object240, which is illustrated inFIG. 6. The CAM output object240may include, but is not limited to including, a vector unpacker910, a temperatures valuator920, a pressures valuator930, a flows valuator940, a sensor temperatures valuator950, an other output synthesizer960, and a status indicator970. The vector unpacker910may receive input of the synthesized parameters vector (Y). The vector unpacker910may output the unpacked Y vector to other elements of the output conditioning module. The status indicator970may receive input of the operating mode vector (OpMode). Further, the output conditioning module240is not limited to including the above mentioned elements, but rather, output conditioning module240may omit elements and/or include other elements.

The temperatures valuator920may process temperature related values of the synthesized parameters vector (Y). This may include performing unit conversions, implementing test adders, performing non-linear interpolation between temperature values during the starting functions of the apparatus130, and/or obtaining temperature values from default tables as backup if/when needed. The temperatures valuator920is not limited to functioning in the above mentioned manner, rather, the temperatures valuator920may omit any of the listed functions and/or add additional functions related to processing temperature data of the synthesized parameters vector (Y).

The pressures valuator930may process pressure related values of the synthesized parameters vector (Y). This may include performing unit conversions, implementing test adders, performing non-linear interpolation between pressure values during the starting functions of the apparatus130, and/or obtaining pressure values from default tables as backup if/when needed. The pressures valuator930is not limited to functioning in the above mentioned manner, rather, the pressures valuator930may omit any of the listed functions and/or add additional functions related to processing pressure data of the synthesized parameters vector (Y).

The flows valuator940may process fuel flow related values of the synthesized parameters vector (Y). This may include performing unit conversions, implementing test adders, performing non-linear interpolation between fuel flow values during the starting functions of the apparatus130, and/or obtaining fuel flow values from default tables as backup if/when needed. The flows valuator940is not limited to functioning in the above mentioned manner, rather, the flows valuator940may omit any of the listed functions and/or add additional functions related to processing fuel flow data of the synthesized parameters vector (Y).

The sensor temperatures valuator950may process sensor temperature related values of the synthesized parameters vector (Y). This may include performing unit conversions, implementing test adders, performing non-linear interpolation between temperature values during the starting functions of the apparatus130, and/or obtaining sensor temperature values from default tables as backup if/when needed. The sensor temperatures valuator950is not limited to functioning in the above mentioned manner, rather, the sensor temperatures valuator950may omit any of the listed functions and/or add additional functions related to processing sensor temperature data of the synthesized parameters vector (Y).

The other output synthesizer960may process other output data of the synthesized parameters vector (Y) not processed by the temperatures valuator920, the pressures valuator930, the flows valuator940, the sensors and/or the temperatures valuator950. This may include performing unit conversions, implementing test adders, performing non-linear interpolation between temperature values during the starting functions of the apparatus130, and/or obtaining other output values from default tables as backup if/when needed. The flows valuator940is not limited to functioning in the above mentioned manner, rather, the flows valuator940may omit any of the listed functions and/or add additional functions related to processing other output data of the synthesized parameters vector (Y).

The status indicator970may receive input from the operating mode vector (OpMode). Using this input, the status indicator970may generate and provide a status indication of the operating status of the CAM module230for use in any downstream logic devices.

Returning to the OpMode determiner330,FIG. 7is a flowchart for an exemplary method980for implementing a starting mode for the EPOS110. The OpMode determiner330may provide a threshold for which, if a speed-related parameter gets below this threshold, the OpMode determiner330has backup values that it uses for various input parameters during starting mode to ensure proper operation of the EPOS110.

The OpMode determiner330may receive input in the form of selected effector values (U) and/or a parameters vector (Y) (block982). Based on one or more parameters, the OpMode determiner330may determine that conditions exist wherein the EPOS110should operate in a starting mode (decision984). In a starting mode, certain parameters are replaced with preset parameters for proper function of the EPOS110.

The method may determine effector values to feed to downstream elements of the EPOS110during starting mode using the following effector ranges based on N1, wherein Uminis the minimum effector value for proper operation of the EPOS110, Usnsdis the sensed value for the effectors, Ublendis a blended value based on interpolation of Usnsdand Umin, Δ is error, N1snsdis the sensed spool speed, and N1minis the minimum spool speed for proper operation of the EPOS110:

Y={Yamb,for⁢⁢N⁢⁢1snsd=0Yblend,for⁢⁢0<N⁢⁢1snsd<N⁢⁢1minYCAM,for⁢⁢N⁢⁢1snsd≥N⁢⁢1min
Yblendmay be determined by applying linear or non-linear interpolation (a frac function) to Yamband YCAMduring the starting mode. The application of frac to determine Yblendis shown in the equation below and the accompanying block diagram ofFIG. 8B:

When the operating mode is set to the starting mode, the set state module will set dynamic states to values estimated when in the data range for the starting mode (block986). The data range may indicate that the apparatus130is halted, that the apparatus130is under a threshold idle condition, and/or that the apparatus130is under a threshold condition for starting.

While an example manner of implementing the EPOS110ofFIG. 1has been illustrated inFIGS. 2-6, one or more elements, processes, and/or devices illustrated inFIGS. 2-6may be combined, divided, rearranged, omitted, eliminated and/or implemented in any other way. Further, the example elements ofFIGS. 1-6could be implemented by one or more circuit(s), programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)), etc. When any of the apparatus or system claims of this patent are read to cover a purely software and/or firmware implementation, at least one of the example elements are hereby expressly defined to include a tangible computer readable medium such as a memory, DVD, CD, Blu-ray, etc. storing the software and/or firmware. Further still, the example embodiments of have been illustrated in may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated inFIGS. 1-6, and/or may include more than one of any or all of the illustrated elements, processes and devices.

Flowcharts representative of example machine readable instructions are shown inFIGS. 7 and 8. In these examples, the machine readable instructions comprise a program for execution by a processor such as the processor such as the processor1210shown in the example computer1200discussed below in connection withFIG. 11. The program may be embodied in software stored on a tangible computer readable medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor1210, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor1210and/or embodied in firmware or dedicated hardware. Further, although the example programs are described with reference to the flowcharts illustrated inFIGS. 9 and 10, many other methods of implementing embodiments of the present disclosure may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.

With reference toFIG. 9, example machine readable instructions1000may be executed to implement the EPOS110ofFIGS. 1 and/or 2. With reference toFIGS. 1 and/or 2, the example machine readable instructions1000begin execution at block1010at input vectors are received by the CAM input object220and are used by the CAM input object220to determine the operating mode (OpMode) of the simulation and to compile the CAM input vectors UEand YCt(block1015). The CAM input vectors are then used by the CAM object230to determine synthesized parameters vector Y based on internal physics state module of the CAM module230and the external inputs UE, YCt, and OpMode (block1020). The synthesized parameters vector Y is conditioned by the CAM output object240for use by external modules such as, for example, the control law123ofFIG. 1(block1025).

The example machine readable instructions1100ofFIG. 11may be executed to implement the CAM object230ofFIGS. 2 and/or 4. With reference toFIGS. 2 and/or 4, the set state module receives input from and sets the state of the CAM object230based upon vectors UE, YC(k), OpMode, and prior physics state vectors generated by the estimate state module440in the form of XE_ESM(k−1), XC_ESM(k−1), and XP_ESM(k−1) (block1110). The open loop model410determines synthesized parameters vector Y(k) by processing data contained in UE, YC(k), XC(k−1), XS(k−1), and XP(k−1) using one or more contained cycle synthesis modules, the one or more cycle synthesis modules being a mathematical abstraction(s) of the physics states associated with an element of a cycle of the apparatus130(block1115). The sensing synthesis module430receives the synthesized parameters vector Y(k) and detects potential errors in the vector (block1120). The estimate state module440determines the physics state vectors XS_ESM(k), XC_ESM(k), and XP_ESM(k) for the present state (k) (block1125). The estimate state module440outputs the vectors XS_ESM(k), XC_ESM(k), and XP_ESM(k) to the set state module420for processing the next sequential state (block1130). The estimate state module440outputs the vector Y(k) for use external to the CAM module230(block1135).

FIG. 11is a block diagram of an example computer1200capable of executing the instructions ofFIGS. 9 and 10to implement the apparatus ofFIGS. 1-6. The computer1200can be, for example, a server, a personal computer, or any other type of computing device.

The system1200of the instant example includes a processor1210. For example, the processor1210can be implemented by one or more microprocessors or controllers from any desired family or manufacturer.

The processor1210includes a local memory1215and is in communication with a main memory including a read only memory1230and a random access memory1220via a bus1240. The random access memory1220may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRM) and/or any other type of random access memory device. The read only memory1230may be implemented by a hard drive, flash memory and/or any other desired type of memory device.

The computer1200also includes an interface circuit1250. The interface circuit1230may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.

One or more input devices1254are connected to the interface circuit1250. The input device(s)1254permit a user to enter data and commands into the processor1210. The input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system. The interface1250may operate in conjunction with, in parallel with, or in place of, the operator interface115ofFIG. 1.

One or more output devices1258are also connected to the interface circuit1250. The output devices1258can be implemented by, for example, display devices for associated data (e.g., a liquid crystal display, a cathode ray tube display (CRT), etc.), and/or an actuator operatively associated with a fluid-based engineering system such as gas turbine engines for aviation and power generation, HVAC&R (heating, ventilation, air-conditioning and refrigeration), fuel cells, and other, more generalized fluid processing systems for hydrocarbon extraction, materials processing, and manufacture.

INDUSTRIAL APPLICABILITY

From the foregoing, it can be seen that the technology disclosed herein has industrial applicability in a variety of settings such as, but not limited to, systems and methods for controlling a fluid based engineering system. Example fluid-based engineering systems may include gas turbine engines for aviation and power generation, HVAC&R (heating, ventilation, air-conditioning and refrigeration), fuel cells, and other, more generalized fluid processing systems for hydrocarbon extraction, materials processing, and manufacture. Using the teachings of the present disclosure, compact aero-thermal models of fluid-based engineering systems may be designed to reduce computational load on a system's control device and/or on board processor. This improvement over the prior art may conserve computational efficiency and may improve the accuracy of the control system for fluid based engineering systems.

While the present disclosure has been in reference to a gas turbine engine of an aircraft, one skilled in the art will understand that the teachings herein can be used in other applications as well, as mentioned above. It is therefore intended that the scope of the invention not be limited by the embodiments presented herein as the best mode for carrying out the invention, but that the invention will include all equivalents falling within the spirit and scope of the claims as well.