The subject matter discussed herein relates generally to computer-aided tools and, more particularly, to systems and methods for manipulating boundary conditions in a computer model of a mechanical thing.
During the design of a mechanical unit or component with boundary conditions (e.g., boundary conditions relating to thermodynamics, flow or fluid mechanics, structural analysis, failure analysis, etc.), designers or engineers design a model of the mechanical unit and manually tune the model's boundary conditions. In the design process, manual tuning of the model's boundary conditions is likely to occur in a few stages. For example, tuning at the initial design, tuning after analysis of the design, and tuning to match test data after performing testing (e.g., with a prototype). At each stage, hours, days, or longer may be required to effectively tune a model manually.
U.S. Pat. No. 7,103,515 describes a method for automatically analyzing an article of manufacture comprising the steps of a) providing a master model and a context model specification; b) creating a context model from the master model and the context model specification; c) translating the context model into an engineering analysis model compatible with an engineering analysis program; d) executing the engineering analysis program to generate a performance estimate form the engineering analysis model; and e) optionally modifying the master model to improve the performance estimate.
The present disclosure is directed toward overcoming one or more of the problems discovered by the inventors.
The subject matter includes a method for manipulating boundary conditions, including rendering at least a portion of a model of a mechanical component. The model includes mesh data and boundary condition data, and the boundary condition data may be rendered with contour lines. User input is received indicating changing at least a segment of at least one of the contour lines. The user input may be input using a graphical user interface to produce a graphical representation of a new contour line to replace at least a segment of one of the contour lines. At least the new contour line may be outputted and/or stored as modified boundary condition data to represent the replaced segment.
In addition to the method above, the implementations may include a device, a system, and/or a computer-readable medium, but are not limited thereto.
The systems and methods disclosed herein include a computer implemented design tool for manipulating boundary conditions such as thermal boundary conditions. Embodiments include rendering at least a portion of a model of a mechanical thing (e.g., a blade, nozzle, vane, disk, etc. for a gas turbine engine). The model includes mesh data and boundary condition data, which may be rendered with contour lines. User input is received indicating changing at least a segment of at least one of the contour lines. The user input may be input using a graphical user interface to produce a graphical representation of a new contour line to replace at least a segment of one of the contour lines. At least the new contour line may be outputted and/or stored as modified boundary condition data to represent the replaced segment.
Model 110 may be any model (e.g., a finite element model) usable in designing a mechanical item. Model 110 may be a model that covers at least a part of an airfoil of a gas turbine. Model 110 may include, for example, mesh data 112 and boundary condition data, which may be referred to as boundary conditions (BC) 114 (e.g., thermal boundary conditions). Model 110 may include other data (not shown). If need to, tool 120 may convert model 110 from one format (e.g., finite difference or boundary element format) to another format (e.g., finite element format). Tool 120 may be any tool (e.g., a computer-aided tool) used in design process 100. Tool 120 may store model 110 in storage 122 before or after rendering the model 110 (e.g., on a display, as that of
If the model is not accepted, user 160 may modify the model graphically, which is described
Modifications of a model may be applied to the entire model or a portion of the model. For example, user 160 may carefully perform the modification graphically on a portion of the model to prevent or minimize affecting other portions. In some implementations, a mechanism is provided to allow user 160 to select a region at block 132. With a region selected, modification of the model is confined to the selected region. Areas outside the region are not affected.
With a modification group created and/or a region selected, user 160 may perform design modification of model 110 by, for example, graphically drawing, at block 134, one or more contours (e.g., contour lines) that represent at least some of the desired boundary conditions of model 110 (e.g., to modify BC 114). When user 160 is satisfied with the drawn contour lines, user 160 sees the model rendered with the drawn contour line by instructing the tool to apply them (e.g., clicking on an “Apply” button, not shown). User 160 may create one or more additional modification groups or layers using blocks 130 to 134.
Before rendering, tool 120 solves for the modified boundary conditions at block 136 based on the drawn contour lines. In some implementations with modification groups, the modified boundary conditions are based on all the drawn contour lines that are associated with the current active modification groups or layers. For example, modification group A may contains one contour line A1, modification group B may contains one contour line B1, and modification group c may contains three contour lines C1, C2, and C3. If groups A and C are activated (e.g., active modification groups), tool 120 solves for the modified boundary conditions based on the desired contour lines A1, C1, C2, and C3 (i.e., B1 is excluded).
If user 160 wants to see the model rendered with different modification groups or layers, the user may activate those groups, arrange them in the order that the groups are to be applied (e.g., arranging group A above group B if group A should be applied on top of group B) before pressing, for example, the “Apply” button. The model or at least the drawn contour lines or groups of drawn contour lines may be stored in storage 122 before or after rendering at block 124.
If the decision 126 is that the model is accepted, tool 120 may produce boundary condition data (BC) 128 (e.g., including the activated drawn contour lines or groups of drawn contour lines). In some implementations, other data (e.g., mesh data) of the model may also be produced. Tool 120 may produce output 128 (as an output file and/or stored in a storage), which may be used in other tools 140 and/or 150 in design process 100 and/or elsewhere (not shown).
Tool 120 or at least some of its functions may be implemented using one or more computing devices. For example, the functions may be implemented as one or more methods on the computing devices using software, hardware, and/or both. At least some of the functions may be implemented using executable code (e.g., software) stored on computer media. In some implementations, tool 120 may perform other functions and/or operations not described above.
The model with BC 128 and mesh 112 may be analyzed using a design analysis and/or simulation tool 140 (e.g., a finite element analysis tool, such as one created by ANSYS® or one created by COMSOL Multiphysics®, etc.). If the results of the analysis indicate that BC 128 of the model needs further modification, at decision block 142, tool 120 may be used again and again (e.g., from blocks 120 to 140) until the decision at block 142 is “No.”
Optionally, the model with at least BC 128 and mesh 112 may be used to produce one or more prototypes and perform testing with the prototypes at block 150. If the test data or test results indicate that the model (e.g., BC 128) needs further modification, at decision block 152, tool 120 may be used to graphically modify the boundary conditions again and again (e.g., from blocks 120 to 150) until the decision at block 152 is “No.” At which point, the design of model 110 (e.g., the creation of a calibrated model) for a mechanical component if complete. If needed, for any reasons, a complete model may still be changed using tool 120.
Model 110, storage 122, and BC 128 are illustrated as shown solely to aid the description of design process 100. In implementations, storage 122 may be one or more storage devices connected on a network, to which tools 120, analysis/simulation tool 140, and/or apparatus (e.g., computer devices) used to produce prototypes and/or testing at block 150 are also connected. Tool 120 may retrieve model 110 or a portion of it from a networked storage 122 and produce and store BC 128 on storage 122. Analysis/simulation tool 140 may retrieve a modified version of model 110 (e.g., one with mesh 112 and BC 128) from storage 122 to perform analysis. Similarly, computing devices used at block 150 may retrieve a modified version of model 110 from storage 122 to produce one or more prototypes and/or perform testing.
Some design processes (not shown) may use a workbench type of design tool or system that may integrate the functions for creating model 110, functions of tool 120, and functions of one or more apparatuses referred to in block prototype/test 150.
Boundary condition data BC 114 of model 110 may be rendered using contour lines 340. A contour line represents a boundary between an area on one side of the contour line and another area on the other side of the contour line. The area represents a portion of the boundary condition data that is equal to or above a value (one of T1 to T10). The other area represents a second portion of the boundary condition data that is less than the value. The boundary or contour line represents the value.
Note that there are contour lines on the top portion of object 330. To minimize cluttering
Lines 345 show where boundary condition data are rendered (e.g., above lines 345) based on model 110 and object 330. Legends 350 show the legends of contour lines 340. Legends 350 show values (e.g., T1-T10) that are associated with the visual scale (e.g., colors, shades of gray, crosshatched patterns, etc.) used on object 330. Values T1-T10 are place holders shown for describing object 330. In actual usage, T1-T10 are threshold values (e.g., boundary conditions) of the different shades used. For example, if object 330 is a component that involves fluid or air flow, T1-T10 maybe values for flow speeds, directions, pressure, etc. associated with fluid or flow dynamics. If object 330 is a component that involves pressure or stress, T1-T10 maybe stress or pressure values. If object 330 is a component that involves convection of heat (e.g., an airfoil, blade, or vane of a gas turbine engine), T1-T10 maybe temperature values in the range of temperatures object 330 may experience. For example, T1-T10 may be gas temperatures or gas temperatures accounting for heat transfer coefficient.
The rendering function of block 124 (
To input or draw one or more contour lines, user 160 may use a pointing device (e.g., pointer 360 controlled by a mouse, input pad, touch pad, etc.) to interact with GUI 300. GUI 300 may be implemented to allow user 160 to zoom in and out to view and/or manipulate object 330 under different zoom levels. Object 330 may be rotated with respect to the x-axis, y-axis, and/or z-axis.
In some implementations, user 160 may draw or otherwise create the boundary 370 of a region 372, in which contour lines may be modified. Area 374 outside of region boundary line 370 is unaffected but any modification input. Region boundary 370 may be created in any manner. For example, region boundary 370 may be created by drawing line segments (e.g., as shown with the dots on the boundary). User 160 may create boundary 370 using a lasso tool (not shown), a shape tool (e.g., a rectangle, or circular shape tool, not shown), etc. Boundary 370 may be reshaped and/or resized. When user 160 is satisfied with region 372 defined by boundary 370, user 160 may start drawing one or more contour lines in region 372 to modify the existing contour line segments enclosed in region 372.
In some implementations, region boundary 370 and region 372 may not be implemented or available. Even if they are available for use, user 160 may not or does not need to use them. For example, user 160 is confident that he or she can modify the right portion of object 330 without using or defining region 372 (e.g., without drawing region boundary 370).
New contour lines 480 and 482 (referred to as “drawn contour lines” above in the description of
New contour lines 480 and 482 define new areas (referred to as areas A1-A5 for discussion). Tool 120 identifies or determines areas A1-A5 when solving for the modified boundary conditions in these areas. A1 is enclosed by lines 482 (T9), 345, and 370. A2 is enclosed by lines T9, 370, T8, and 345. A3 is enclosed by lines T8, 370, T7, and 345. A4 is enclosed by lines T7, 370, T6, and 345. And A5 is enclosed by lines T6, 370, and 345. When user 160 is satisfied with, for example, the T6-T9 lines, user 160 may then request tool 120 to solve for the modified boundary conditions by, for example clicking on an “Apply” button (not shown). Tool 120 then replaces data representing the areas A1-A5 with data based on the new contour lines 480 and 482.
An example implementation may include using a conduction solver which, for example, sets up a finite element conduction problem containing the elements (e.g., boundary condition data) inside region 372. Outside boundary 370, the original temperatures are fixed (e.g., boundary conditions remain unchanged). New contour lines 480 and 482 may be treated by the conduction solver as a heat source boundary condition (e.g., like a thermostat) where energy is inserted or removed in order to achieve the user-specified temperatures indicated by the new contour lines 480 and 482. Influence of the new contour lines 480 and 482 can be increased or decreased using, for example, a “thermostat gain” control.
As described in
At block 610, a modification group or layer may be created. The operations in this and the next block are optional and depend on implementations. At block 615, a region of the rendered model may be selected, defined, drawn, or otherwise indicated (e.g., graphically).
At block 620, tool 120, for example, receives input from user 160 indicating changing at least a segment of at least one of the contour lines. The input may be a graphical representation of one or more new contour lines to replace segments or portions of existing contour lines. Each one of the new contour lines has at least one point not on the segments or portions of the existing contour lines.
When user 160 is done drawing the new contour lines, he or she may issue a command (e.g., press an “Apply” or “Solve” button) to tool 120 to solve for the modified boundary condition based on the new contour lines. For example, boundary condition representing an area between an existing contour line and a new replacement contour line may be replaced with data based on the new contour line. The modified boundary condition data may be saved, stored, and/or outputted (e.g., with or without other boundary condition data and/or data representing the mesh).
In some examples, process 600 may be implemented with different, fewer, or more blocks. Process 600 may be implemented as computer executable instructions, which can be stored on a medium, loaded onto one or more processors of one or more computing devices, and executed as a computer-implemented method.
Computing device 705 can be communicatively coupled to input/user interface 735 and output device/interface 740. Either one or both of input/user interface 735 and output device/interface 740 can be a wired or wireless interface and can be detachable. Input/user interface 735 may include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like). Output device/interface 740 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 735 and output device/interface 740 can be embedded with or physically coupled to the computing device 705. In other example implementations, other computing devices may function as or provide the functions of input/user interface 735 and output device/interface 740 for a computing device 705.
Computing device 705 can be communicatively coupled (e.g., via I/O interface 725) to external storage 745 and network 750 for communicating with any number of networked components, devices, and systems, including one or more computing devices of the same or different configuration. Computing device 705 or any connected computing device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
I/O interface 725 can include, but is not limited to, wired and/or wireless interfaces using any communication or I/O protocols or standards (e.g., Ethernet, 802.11x, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all the connected components, devices, and network in computing environment 700. Network 750 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
Computing device 705 can use and/or communicate using computer-usable or computer-readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
Computing device 705 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments. Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media. The executable instructions can originate from one or more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).
Processor(s) 710 can execute under any operating system (OS) (not shown), in a native or virtual environment. One or more applications can be deployed that include logic unit 760, application programming interface (API) unit 765, input unit 770, output unit 775, rendering unit 780, solver unit 785, contours management 790, and inter-unit communication mechanism 795 for the different units to communicate with each other, with the OS, and with other applications (not shown). For example, rendering unit 780, solver unit 785, and contours management 790 may implement one or more processes and/or user interface shown in
In some example implementations, when information or an execution instruction is received by API unit 765, it may be communicated to one or more other units (e.g., logic unit 760, input unit 770, output unit 775, rendering unit 780, solver unit 785, and contours management 790). For example, after rendering unit 780 renders model 110 as object 330, user 160 may draw one or more contour lines. The user's input drawing the contour lines, which indicates changing at least a segment of at least one of the existing contour lines, is received by input unit 770 (receiving means), which communicates the input data to rendering unit 780 to render the newly drawn contour lines. Input unit 770 may also communicate the user input to contours management 790. When user 160 is done drawing (e.g., based on another indication, such as the activation of an “Apply” button received by input unit 770 and determined by logic unit 760), solver unit 785 may be instructed (e.g., by logic unit 760 or API unit 765) to solve for new boundary condition based on the newly drawn contour lines. Output unit 775 may produce output 128, which contains at least the drawn contour lines as modified boundary condition data.
In some instances, logic unit 760 may be configured to control the information flow among the units and direct the services provided by API unit 765, input unit 770, output unit 775, rendering unit 780, solver unit 785, and contours management 790 in some example implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 760 alone or in conjunction with API unit 765.
The subject matter described herein can be applicable in designing any mechanical thing that may involve boundary conditions. For example, the subject matter can be implemented in a standalone or integrated computer-aided tool and/or a computing device usable in designing a mechanical component that experiences air flow, fluid flow, heat, cold, stress, pressure, force, etc. One of the numerous possible examples is a gas turbine, which involves many components that may involve or experience boundary conditions. For example, an airfoil of a turbine blade may experience thermal boundary conditions from structural temperatures and/or surface temperatures. The thermal boundary conditions may be based on gas temperatures, based on both gas temperatures and heat transfer coefficient, and/or other factors (convection and/or radiation factors).
The subject matter described herein enable designers or users to graphically and visually modify boundary conditions of models of a mechanical items or components. The graphical/visual process (e.g., design process 100,
Although a few example implementations have been shown and described, these example implementations are provided to convey the subject matter described herein to people who are familiar with this field. It should be understood that the subject matter described herein may be implemented in various forms without being limited to the described example implementations. The subject matter described herein can be practiced without those specifically defined or described matters or with other or different elements or matters not described. It will be appreciated by those familiar with this field that changes may be made in these example implementations without departing from the subject matter described herein as defined in the appended claims and their equivalents.