Abstract: This disclosure relates generally to CFD modeling and simulation. Typical systems for CFD modeling and simulation are configured for use by only CFD experts and have manual dependency. Conventional systems lack learning capability do not specifically change behavior thereof as per the objective of the study and physics of the problem. The systems are designed to use only one CFD solver for the created CFD model thereby limiting the use thereof to a large extent. The disclosed system and method provides an end to end solution of a CFD modeling and simulation process in which the CFD processes are split and combined through a workflow. The disclosed system facilitates the user in creating complete CFD model by changing UI as per the required input, assisting user in making appropriate selection of available choices through contextual help, converting created model into a suitable CFD software inputs and simulating the CFD model, and evaluation of objectives and gathering of knowledge in a report form for further use. [To be published with FIG. 7A-7B]
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION (See Section 10 and Rule 13)
Title of invention:
SYSTEM AND METHOD FOR KNOWLEDGE ASSISTED COMPUTATIONAL FLUID DYNAMICS (CFD) MODELING AND
SIMULATION
Applicant
Tata Consultancy Services Limited A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
Preamble to the description
The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD [001] The disclosure herein generally relates to computational fluid dynamics (CFD) modeling and simulation, and, more particularly to, system and method for a knowledge assisted CFD modeling and simulation.
BACKGROUND
[002] Computational Fluid Dynamics (CFD) is one of the important fields in engineering which deals with fluid flow, heat transfer, reactive flows, and fluid solid interactions. CFD is widely used in number of industries such as aviation, space, building, automobile, energy, and health. In order to carry out a CFD analysis, it is mandatory to have in-depth knowledge of following three aspects namely physics and geometry of the problem, fluid mechanics and numeric, and CFD software or computer program used for numerical simulation. In a CFD analysis, physics of the problem is modelled through mathematical equations by applying fundamental laws of physics and modeling. These governing mathematical equations are then numerically solved by discretizing them over the geometry of the problem. Numerical solution of the governing equation may be done through dedicated software or computer program. A CFD analysis is carried out by a CFD expert.
[003] The job of the CFD expert is to create numerical mesh inside the geometry of the problem, decide physics of the problem, apply initial and boundary conditions for variables, select appropriate discretization schemes and solution algorithm, ensure convergence of the simulation process and carryout post processing on simulated results to get desired outcome. In order to carry out the aforementioned steps, a CFD expert needs to have in depth knowledge of the physics of the problem at hand, knowledge of the numerical aspect of the governing equations and computer program or software he/she wants to use for his/her CFD analysis. In summary a CFD expert needs to have huge amount of knowledge encapsulated in data. As a result, there may be chances that he/she makes mistake in selecting suitable options for various aspects of the model such as boundary conditions, discretization schemes etc.
[004] In practice CFD experts do make mistakes in selecting appropriate boundary condition, discretization schemes and solution algorithms etc. A wrong choice may result into divergence of the simulation process or may result into unphysical results. Consequently, then CFD expert needs to find out mistakes and rectify them in order to obtain physically meaningful result after the simulation. Since CFD software or computer program do not provide contextual help during CFD modeling and simulation, CFD expert, may needs to read literature, take help from other expert to solve the divergence and unphysical solution that have resulted due to mistake in the model. This process takes time as a result CFD modeling is iterative and time consuming. Once a model is created in one CFD software, it can be used by the same software only. In order to use the created model in a different software; the CFD expert needs to re-create entire model in it.
[005] Currently, there is no direct method to convert input of one software to the other software for most of the available CFD software. Moreover, all the knowledge of the CFD model is embedded into the model itself. Also, the current systems lack a way to know the details without opening/reading the input in the dedicated software. In case the software is not available, the model cannot be opened as model files are generally encrypted. Moreover, options selected in a working model is a knowledge, the software do not understand if same model is being created by the user which was created by number of users in the past. As a result, each user puts same amount of time and effort that was put by so many people in the past. The knowledge is not stored in the CFD software for the same user for reuse or to transfer to the other user for their benefit.
SUMMARY
[006] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional method of CFD modeling and simulation. For example, in one embodiment, a processor-implemented method for knowledge assisted CFD modeling and simulation is provided. The method includes systematically receiving, at a user interface (UI) via one or more hardware processors, a set of inputs for a computational fluid dynamics (CFD)
modeling and analysis, wherein the set of inputs pertains to a set of elements of the CFD model and are received by dynamically interacting with a user through the UI, wherein dynamically interacting comprises obtaining a set of details of each element of the set of elements of the CFD model, the details obtained through one or more CFD ontologies comprising elements of the CFD model, wherein obtaining the details of an element from amongst the set of elements comprises defining a query associated with the element in natural language, presenting the query on the UI, receiving response to the query on the UI and defining one or more subsequent queries in natural language to obtain one or more subsequent responses until a stopping criteria is met, wherein the stopping criteria comprises one of a user defined input, one or more rules defined by the one or more ontologies, and one or more predefined requirements associated with the CFD model, and wherein the query is defined by executing a CFD knowledge engine (KE) over the one or more CFD ontologies, The one or more CFD ontologies comprises elements of geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software or computer program and post processing. The CFD KE comprises a hierarchical aggregation of a plurality of CFD knowledge elements associated with geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software or computer program and post processing of simulated result. Further, the method includes creating a CFD model using the one or more responses and the set of elements of the CFD model, via the one or more hardware processors, the CFD model comprising a plurality of details associated with geometry, material, mathematical modelling, boundary conditions, numerical schemes, solvers, and post processing. Furthermore, the method includes creating, via the one or more hardware processors, by a CFD solver specific converter using the CFD model, a simulation ready input for a processor implementable code for CFD determined by the CFD KE. Also, the method included carrying out simulation using the simulation ready input by a processor implementable code for a CFD to obtain simulated values for a plurality of field variables associated with the CFD model, via the one or more hardware processors, wherein the plurality of field variables comprises but not limited to velocity, pressure, temperature,
turbulent kinetic energy, turbulent dissipation rate, and kinematic viscosity. Moreover, the method includes creating a post processing input specific to the processor implementable code for CFD using the simulated values to carry out evaluation of one or more objectives of the CFD modeling defined in the CFD model, via the one or more hardware processors. Also, the method includes processing, via the one or more hardware processors, the simulated values using a machine learning (ML) model to capture one or more thermo-fluid features in the simulated values. Further, the method includes learning, by the KE, to identify a set of parameters for the CFD model based on the processing of the simulated values and a training data, via the one or more hardware processors, wherein the learning comprises design of experiment (DOE) optimization for one or more elements of the CFD model.
[007] In another aspect, a system for knowledge assisted CFD modeling and simulation is provided. The system includes a memory storing instructions; one or more communication interfaces, and one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to systematically receive, at a user interface (UI) via one or more hardware processors, a set of inputs for a computational fluid dynamics (CFD) modeling and analysis, wherein the set of inputs pertains to a set of elements of the CFD model and are received by dynamically interacting with a user through the UI, wherein dynamically interacting comprises obtaining a set of details of each element of the set of elements of the CFD model, the details obtained through one or more CFD ontologies comprising elements of the CFD model, wherein obtaining the details of an element from amongst the set of elements comprises defining a query associated with the element in natural language, presenting the query on the UI, receiving response to the query on the UI and defining one or more subsequent queries in natural language to obtain one or more subsequent responses until a stopping criteria is met. The stopping criteria comprises one of a user defined input, one or more rules defined by the one or more ontologies, and one or more predefined requirements associated with the CFD model. The query is defined by executing a CFD knowledge engine (KE) over
the one or more CFD ontologies, The one or more CFD ontologies comprises
elements of geometry, meshed geometry, materials, fluid mechanics, mathematical
modeling, numeric, CFD software or computer program and post processing. The
CFD KE comprises a hierarchical aggregation of a plurality of CFD knowledge
elements associated with geometry, meshed geometry, materials, fluid mechanics,
mathematical modeling, numeric, CFD software or computer program and post
processing of simulated result. Further, the one or more hardware processors are
configured by the instructions to create a CFD model using the one or more
responses and the set of elements of the CFD model, the CFD model comprising a
plurality of details associated with geometry, material, post processing,
mathematicalmodelling, boundary conditions, numerical schemes, and solvers. Furthermore, the one or more hardware processors are configured by the instructions to create, by a CFD software s specific converter using the CFD model, a simulation ready input for a processor implementable code for CFD determined by the CFD KE. Also, the one or more hardware processors are configured by the instructions to includes carrying out simulation using the simulation ready input by a processor implementable code for a CFD software s to obtain simulated values for a plurality of field variables associated with the CFD model, wherein the plurality of field variables comprises but not limited to velocity, pressure, temperature, turbulent kinetic energy, turbulent dissipation rate, and kinematic viscosity. Moreover, the one or more hardware processors are configured by the instructions to create a post processing input specific to the processor implementable code for CFD using the simulated values to carry out evaluation of one or more objectives of the CFD modeling defined in the CFD model. Also, the one or more hardware processors are configured by the instructions to process, via the one or more hardware processors, the simulated values using a machine learning (ML) model to capture one or more thermo-fluid features in the simulated values. Further, the one or more hardware processors are configured by the instructions to learn, by the KE, to identify a set of parameters for the CFD model based on the processing of the simulated values and a training data, wherein the learning
comprises design of experiment (DOE) optimization for one or more elements of the CFD model.
[008] In yet another aspect, a non-transitory computer readable medium for a method for knowledge assisted CFD modeling and simulation is provided. The method includes systematically receiving, at a user interface (UI) via one or more hardware processors, a set of inputs for a computational fluid dynamics (CFD) modeling and analysis, wherein the set of inputs pertains to a set of elements of the CFD model and are received by dynamically interacting with a user through the UI, wherein dynamically interacting comprises obtaining a set of details of each element of the set of elements of the CFD model, the details obtained through one or more CFD ontologies comprising elements of the CFD model, wherein obtaining the details of an element from amongst the set of elements comprises defining a query associated with the element in natural language, presenting the query on the UI, receiving response to the query on the UI and defining one or more subsequent queries in natural language to obtain one or more subsequent responses until a stopping criteria is met, wherein the stopping criteria comprises one of a user defined input, one or more rules defined by the one or more ontologies, and one or more predefined requirements associated with the CFD model , and wherein the query is defined by executing a CFD knowledge engine (KE) over the one or more CFD ontologies, The one or more CFD ontologies comprises elements of geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software or computer program and post processing. The CFD KE comprises a hierarchical aggregation of a plurality of CFD knowledge elements associated with geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software or computer program and post processing of simulated result. Further, the method includes creating a CFD model using the one or more responses and the set of elements of the CFD model, the CFD model comprising a plurality of details associated with geometry, material, mathematical modelling, boundary conditions, numerical schemes, solvers and, post processing. Furthermore, the method includes creating, by a CFD software specific converter using the CFD model, a simulation ready input for a processor implementable code
for CFD determined by the CFD KE. Also, the method included carrying out simulation using the simulation ready input by a processor implementable code for a CFD software to obtain simulated values for a plurality of field variables associated with the CFD model, wherein the plurality of field variables comprises velocity, pressure, temperature, turbulent kinetic energy, turbulent dissipation rate, and kinematic viscosity. Moreover, the method includes creating a post processing input specific to the processor implementable code for CFD using the simulated values to carry out evaluation of one or more objectives of the CFD modeling defined in the CFD model, via the one or more hardware processors. Also, the method includes processing, via the one or more hardware processors, the simulated values using a machine learning (ML) model to capture one or more thermo-fluid features in the simulated values. Further, the method includes learning, by the KE, to identify a set of parameters for the CFD model based on the processing of the simulated values and a training data, wherein the learning comprises design of experiment (DOE) optimization for one or more elements of the CFD model.
[009] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[010] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[Oil] FIGS. 1 illustrates an example network implementation of a system for knowledge assisted CFD modeling and simulation, in accordance with an example embodiment.
[012] FIG 2.Illustrates details of the system for creation and simulation of a CFD model, in accordance with an embodiment of the present subject matter.
[013] FIG. 3 illustrates a block diagram of the query engine for knowledge assisted CFD modeling and simulation, in accordance with an example embodiment of the present disclosure.
[014] FIG. 4 illustrates elements of the CFD model in one embodiment of the present subject matter.
[015] FIG. 5 illustrates an example of physics ontology for creation and simulation of a CFD model, in accordance with an embodiment of the present subject matter.
[016] FIG. 6 illustrates a learning process of the CFD knowledge engine 206 in an embodiment of the present disclosure
[017] FIGS. 7A-7B is a process flow diagram of a method for knowledge assisted CFD modeling and simulation according to some embodiments of the present disclosure.
[018] FIG. 8 is a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
[019] FIGS. 9A and 9B illustrates an example scenario describing knowledge assisted CFD modeling and simulation in accordance with embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS [020] Conventionally, in order to create a CFD model, a CFD expert need to have in depth knowledge of fluid mechanics and numeric. However, it is difficult to remember depth and breadth of CFD theory and numeric all the time. Another challenge faced by CFD experts is the need to have knowledge of different CFD software to make CFD model. This again is difficult for a CFD expert, as he/she needs to learn and use a number of CFD software to the best of his/her potential. Moreover, typically, the CFD Model created in one software cannot be read by a human without the software. Also, this model cannot be used in other software directly.
[021] Traditional CFD modeling involves number of trial and error iterations before making a working CFD model. As mentioned above, conventional systems are designed assuming that the user is an expert in CFD and knows and/or understands CFD fundamentals. As a result, these systems do not provide contextual help to the user during the creation of the model or during simulation
andpostprocessing step. Such conventional systems do not learn and update knowledge from the expert user inputs and past executions. Such systems are developed as a generic solution and do not specifically change their behavior as per the objective of the study and physics of the problem. This makes system look complicated with lots of redundant options and features. Additionally, typical CFD systems are designed to use only one CFD solver which limits the use thereof to a large extent.
[022] The disclosed systems and methods solve the aforementioned problems by capturing knowledge of fluid mechanics and numeric in the system. The system gives only most relevant options to the user. The disclosed system provides contextual help at each step in the modeling process. This contextual help is in the form of definitions, theories, equations, examples, and links to knowledge sources, including but not limited to published papers and books, websites, blogs, online videos on the topic, and so on. The CFD model created by the disclosed system learns while creation of the CFD model through it. Said learning is used in suggesting most relevant options to the user in model creation process. Also, it gives reason for the suitability of the option. This way user learns fundamentals of CFD and numeric and gets reminded of the consequence of selecting wrong option beforehand. As a result, system reduces number of iterations in CFD analysis and saves time and effort of the CFD user. Additionally, the disclosed method and system are capable of creating a CFD model in neutral format. This model can be converted to software specific input. In this way, a CFD model can be solved by number of software. Also, the model created in neutral format can be read by both computer and human making is independent of CFD software and hence more useful. Finally, the disclosed method and system are capable of creating a detailed report with details of the model and outcome of the objective. Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications,
adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope being indicated by the following claims.
[023] Referring now to the drawings, and more particularly to FIG. 1 through FIG. 9B, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[024] FIG.1 illustrates an example network implementation 100 of a
system 102 for knowledge assisted CFD modeling and simulation, in accordance with an example embodiment. The disclosed system facilitates in creation of a CFD model by a knowledge assisted integrated CFD process. In an embodiment, the system helps a user in creating complete CFD model by contextually changing required input. The system assists the user in making appropriate selection of available choices and converts the created CFD model into a suitable CFD software inputs and simulating the CFD model, evaluation of objectives and gathering of knowledge for further use.
[025] The disclosed system provides an end-to-end solution of a CFD modeling and simulation process. The various CFD processes are broken into modules such as geometry and mesh, physics, modeling and so on and combined through a workflow, thereby making the CFD modeling process an integrated process. User interface (UI) in each module is sensitive to the inputs provided in the previous modules and previous UI, this makes UI contextual to the problem and shows only essential elements required for the creation of the model of the problem. Moreover, the system 102 is capable of suggesting best options from the list of the options based on the knowledge gathered from the fundamentals and past executions. Additionally, CFD model details may be captured into a neutral format which may be converted into CFD solver input for variety of CFD solvers. As a result, the disclosed embodiments can be used to solve variety of CFD problems using number of CFD solvers.
[026] In an embodiment, the system 102 guides a user in defining the CFD model systematically and completely. Herein, there may be an objective for which user may wish to carry out CFD analysis. Objective of the CFD study may be to find the forces such as lift and drag on a body such as an airfoil, an airplane, a car, abuilding etc. Distribution of pressure field and velocity contours inside a room, a data center, or inside a car etc. Finding dead zones and recirculation zones inside a tundish etc. are some other objectives of CFD study. The system may receive inputs or a set of inputs to define the CFD model completely. The output of the system may be the outcome of the CFD analysis as per the defined objective and provided input in a report form. Further details of the modules of the system 102 are defined further in FIG. 2 below.
[027] FIG 2.Illustrates details of the system 102 for creation and simulation of a CFD model, in accordance with an embodiment of the present subject matter. The system 102 for creation of a CFD model includes a user interface 202, a query engine 204 and a CFD knowledge engine 206. The user interface 202 may be a web screen with various types of input and output elements. A user may provide input to the system 102 through input elements in user interface 202. The input elements may include standard UI input elements such as file upload, text boxes, radio buttons, sliders and dropdown and combinations thereof. Outcome from the system 102 is presented to the user through output elements. The output elements may further include standard UI output elements such as file download, text, images, pop ups. The user interface 202 also includes link to a help document for every input and output elements that may be present in it. The link to the help document may be dynamically assigned depending on value of the elements in the user interface 202, thereby making help in the user interface 202 contextual to the model being created by the user. For example, user interface for taking input of wall type boundary has element boundary with value “wall” in it, this value of “wall” is used to dynamically create a link to the document that has details of wall type boundary condition. In an embodiment, the help document may include theory and references of fluid mechanics, material, mesh, numeric, post-processing and CFD
software. In an embodiment, the user may be directed to related published references for in-depth knowledge of the UI element.
[028] The CFD knowledge engine 206 includes knowledge elements of the CFD model including knowledge of fluid mechanics, knowledge of geometry, knowledge of meshed geometry, knowledge of material, knowledge of CFD, knowledge of CFD software and knowledge of post processing of simulated results. Different knowledge elements in CFD knowledge engine 206 may be in various formats. Formats of knowledge elements may be an ontology, a database, contextual conditions, rules, mathematical models, data models, machine learned models and documents.
[029] The query engine 204 facilitates interaction of the system 102 with user through user interface 202. The query engine 204 may further interact with CFD knowledge engine 206 is capable of querying knowledge from the CFD knowledge engine 206. Moreover, the query engine 204 may determine the order and type of inputs that are required form the user through user interface 202. The query engine 204 also decides upon order and type of the output that need to be shown to the user. At the end of interaction with user through user interface 202 the query engine 204 creates simulation ready input 208 that is passed to CFD software 212. The CFD software 212 after carrying out simulation on simulation ready input 208 creates simulated results. The CFD software 212 may include but not limited to OpenFOAM, SU2, PowerFlow, SimScale, Ansys Fluent, Ansys CFX, COMSOL FLOW-3D, STAR CCM, a computer program. This simulated result is post processed using a post processing software 214 and post processing ready input 210 generated by query engine 204. The post processing software 214 after post processing generates result which is fed to query engine 204. The post processing software 214 may include but not limited to Ansys CFD-Post, Ansys Fluent, Paraview, Ensight, TechPlot, GnuPlot. The query engine 204 in turn shows the result to the user through user interface 202. The query engine 204 also generates a downloadable report of the entire process along with post processed results for reference or further use by the user. The report may be downloaded through a
download link generated within the user interface 202. A block diagram of the query engine is described further with reference to FIG. 3 below.
[030] FIG. 3 illustrates a block diagram of the query engine 204 for knowledge assisted CFD modeling and simulation, in accordance with an example embodiment of the present disclosure. In an embodiment, the query engine 204 includes a query manager module 302, elements of CFD model 304 and a task executor module 306. The query manager module 302 determines the flow of the process for the creation of CFD model, simulation, post processing and report generation. The query manager module 302 initiates with a predefined element taking its details from elements of CFD model 304. These details may be shown to the user through user interface 202 for his inputs. Subsequent elements may be decided based on input provided by the user through user interface 202 in the preceding element. This decision is taken with the help of CFD knowledge engine 206. This process continues until every required detail of a CFD model is captured.
[031] The task executor module 306 carries out various tasks that are needed to communicate with user through user interface 202 such as creation of governing equations, solution algorithm flow chart, capturing model in neutral format, summary of the information captured and report generation at the end. The CFD knowledge engine 206 contains knowledge of fluid mechanics, geometry, mesh, numeric and post processing. The query manager 302 poses a question to CFD knowledge engine 206 for the current scenario it has in terms of values of elements of CFD model. The CFD knowledge engine 206 responds with answer based on knowledge it has for the presented scenario. In this manner, the CFD knowledge engine 206 helps in refining subsequent question that query manager 302 need to ask user through user interface 202. The elements of the CFD model are described further with reference to FIG. 4.
[032] At the end of model creation process, query manager 302 creates a CFD model 312 using task executor 306. The CFD model 312 contains the details which are required for numerical simulation by a CFD solver and post processor. Additionally, the CFD model 312 also contains details of the objective, physics, governing equation, solution algorithms and key numeric details. The CFD model
312 may be captured in a neutral format, for instance, an Extensible Markup language (XML) format, RuleML format or any other suitable format which can read by both computer and human being. The simulation ready input 316 is created by solver specific converter 310 using model 312 captured in the process. The CFD software carries out simulation and simulated value for all the field variables are created.
[033] The simulated values are processed using post processing software 214 and post processing ready input 210. Aspect of post processing that require human expertise may also be carried out using Machine learning techniques such as identification of various flow features in the simulated result such as presence and extent of vortex, separation of flow etc. In one example presence and location of vortex in a flow field is identified using machine learned model. A machine learned model for identification of vortex in a flow field are created using state of the art ML techniques. In one example, number of flow fields with vector plots of velocity field with vortex and without vertex are collected. The presence of vortex in these images are labeled by CFD experts. These labeled images are then taken for creation of machine learned model. In one example the machine learned model used is convolutional neural network. The machine learned model with satisfactory accuracy is used to identify presence of vortex in flow field simulated using the disclosed system. In an embodiment, the ML model comprises one of linear, two degree, three degree, Support Vector Machine (SVM), Random Forest and K-Nearest Neighbor (KNN). Result 108 of the post processing is passed to query engine 204 which is then shown to the user through user interface 202 as shown in FIG. 2. The query manager 302 finally prepares report on the entire analysis using details of the model, associated theory and references from help document and simulation results. This report can be downloaded by the user from user interface 202 through a link at the end of the process.
[034] Referring to FIG. 4, elements of the CFD model 304 in one embodiment of the present subject matter. The elements of CFD model 304 further includes geometry 402, objective 404, material 406, physics 408, numeric 410, simulation 412, post processing 414 and outcome 416. The geometry 402 of the
elements of CFD model 304 contains all the knowledge related to geometry of the CFD analysis captured in ontology. The geometry 402 also includes knowledge of the mesh properties with their ranges such as skewness, aspect ratio and non-orthogonality. The objective 404 contains various objective that may be associated with a CFD analysis in ontology form. For example, the objective may include data of a flow variable such as pressure on a line passing through the geometry. Additionally, or alternatively, the objective may also include values of temperature over a surface defined within the geometry.
[035] The material 406 is the working material within the geometry. The elements of material properties are also captured into material ontology. The material ontology contains all related properties of material that may be required for CFD analysis. The physics 408 is the physics that are modelled through CFD analysis such as flow, heat transfer, two phase flow and combinations thereof. The physics 408 also contains set of assumptions under which a physics is modelled through CFD for example a flow is considered incompressible if Mach number is below 0.3. The knowledge of the physics 408 is captured in physics ontology. An example of the physics ontology is described further with reference to FIG. 5.
[036] The numeric 410 contains the details of solving a governing partial differential equation numerically such as discretization scheme, solution algorithm and solver for matrix equations. The knowledge of Numeric 410 is captured in numeric ontology. The algorithm 412 contains knowledge of solution algorithm that solves discretized governing equation for the defined physics. The knowledge of the solution algorithm may include algorithm suitable for the governing equation, various controls such as start criteria, stop conditions and stepping criteria. The knowledge of algorithm 412 is captured in algorithm ontology.
[037] The post processing element 414 of the elements of CFD model 304 contains the interpretation of various post processed results that are obtained through the post processing of the simulated values of the various variables. The post processing 414 knowledge may be the data gathered from published literature, tacit knowledge of CFD experts or a machine learning model or a data model or combinations thereof.
[038] The resources element 416 of the elements of CFD model 304 contains information/knowledge of the computational resources that may be required for carrying out simulation and post processing process of the process 100. The resources 416 may include knowledge of Random-Access Memory (RAM), hard disc and processors for computation and storage of computed values. It may also include resolution of screens to visualize details of the post processed results. The resources element 416 may also store information/knowledge of requirements of computational resources that may be required to simulate the defined physics in the model for a given amount of time and accuracy of the result. Said information/knowledge may be gathered from published literature, tacit knowledge of CFD experts or a machine learning models or data model or combinations thereof.
[039] FIG 5.Illustrates execution of physics 408 as an example embodiment of the present subject matter. In the example embodiment, the physics ontology 408 further includes flow 502 and thermal energy 504. The flow 502 may include details of the flow properties such as laminar, turbulent, steady state, transient, compressible, incompressible, Newtonian, non-Newtonian related to CFD analysis of process 100 in ontology format. The thermal energy 504 may include details of the thermal energy such as convection, conduction, radiation related to CFD analysis of the process 100 in ontology format. User through user interface 202 may describe physics of the model that he/she is interested in analyzing through CFD.
[040] The user description of the physics confirms that the physics has flow and thermal energy in it. The query manager 302 takes details of the physics from elements of CFD model 304 and poses further questions to the user through user interface 202. The query manager 302 keeps on asking required details from the user until flow physics and energy physics is completely defined. On completion of the definitions of flow physics and thermal energy physics the query manager 302 crates governing equation 506 through task executor 306. This governing equation 506 is shown to the user through user interface 202.
[041] FIG 6.illustrates a learning process 600 of the CFD knowledge engine 206 in an embodiment of the present disclosure. The learning process 600 facilitates identification of optimum set of parameters for a given CFD model 312. The optimum set of parameters from set of options are identified by using state of the art optimization techniques. The CFD model 312 is passed to the query manager 302 through file upload facility in user interface 202. The query manager 302 with the help of elements of CFD model 304 identifies set of options available for each parameter. The query manager 302 then creates a design of experiment (DOE) table 606. Also, the query manager 302 prepares all possible list of simulation ready inputs 604. These simulation ready inputs are used to calculate list of results 608 through result calculation 610. The result calculation 610 involves simulation of each CFD model and post processing of the simulated values. The list of results 608 along with DOE table 606 is passed to the machine learning 612 modules. The machine learned model is stored in the CFD knowledge engine 206 for further use by the query manager 302. The machine learned model created by machine learning 612 is further used by the optimizer 602 module of system 102. The optimizer 602 carries out optimization process on the machined learned model. This optimized result is updated into CFD knowledge engine 206 for further use. This knowledge is used in future for similar or same CFD model 312 for prediction of model parameters and simulation results. A flow diagram of a method for CFD modeling and simulation is described further with reference to FIGS. 7A-7B.
[042] FIGS. 7A-7B illustrates an example flow chart of a method 700 for knowledge assisted CFD modeling and simulation, in accordance with an example embodiment of the present disclosure. The method 700 depicted in the flow chart may be executed by a system, for example, the system, 102 of FIG. 1. In an example embodiment, the system 102 may be embodied in a computing device.
[043] Operations of the flowchart, and combinations of operation in the flowchart, may be implemented by various means, such as hardware, firmware, processor, circuitry and/or other device associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described in various embodiments may be embodied by computer
program instructions. In an example embodiment, the computer program instructions, which embody the procedures, described in various embodiments may be stored by at least one memory device of a system and executed by at least one processor in the system. Any such computer program instructions may be loaded onto a computer or other programmable system (for example, hardware) to produce a machine, such that the resulting computer or other programmable system embody means for implementing the operations specified in the flowchart. It will be noted herein that the operations of the method 700 are described with help of system 102. However, the operations of the method 700 can be described and/or practiced by using any other system.
[044] At 702, the method 700 for knowledge assisted CFD modeling and simulation includes systematically receiving, at a user interface (UI) via one or more hardware processors, a set of inputs for CFD modeling and analysis. As described with reference to FIG. 2, the set of inputs are received by dynamically interacting with a user through the UI. The method of dynamic interaction of the system with the user is described further with reference to step 704.
[045] For example, at step 704 of 702, the system 102 dynamically interacts with the user by obtaining a set of details of each element of the set of elements of the CFD model. The details are obtained through one or more CFD ontologies comprising elements of the CFD model. In an embodiment, obtaining the details of an element from amongst the set of elements includes defining a query associated with the element in natural language, presenting the query on the UI, receiving response to the query on the UI and defining one or more subsequent queries in natural language to obtain one or more subsequent responses until a stopping criteria is met. The query is defined by executing a CFD knowledge engine (KE) over the one or more CFD ontologies. The execution of the CFD KE is described with reference to FIG. 4. In an embodiment, the method further includes providing a list of elements of CFD such as numerical schemes for each of the one or more terms in the governing equations using the CFD KE. The list may be displayed at the UI. In an embodiment, the user may be guided by the CFD KE
using a contextual help on the UI for a scheme selection for each of the one or more terms in the governing equations.
[046] The stopping criteria may be a user defined input or one or more rules defined by the one or more ontologies or one or more predefined requirements associated with the CFD model. Example of stopping criteria defined by user input may include objective. In one example user may want a plot of pressure over a line passing through the geometry, the system may ask details of line and variable and stops there. Example of stopping criteria defined by the ontology may include application of boundary conditions over all the boundaries for all variables. In this example number and details of variable may be obtained from the ontology. In another example, the stopping criteria may be determined from the CFD model itself and may include number and details of mathematical terms that need to be discretized numerically.
[047] As previously described, the one or more CFD ontologies includes elements of geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software and post processing. The CFD KE includes a hierarchical aggregation of a plurality of CFD knowledge elements associated with geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software and post processing of simulated result.
[048] At 706, a CFD model is created using the one or more responses from the user and the set of elements of the CFD model. The CFD model includes a plurality of details associated with geometry, material, mathematical modelling, boundary conditions, numerical schemes, solvers and, post processing. At 708, the CFD KE determines a CFD software or code specific converter using the CFD model and creates a simulation ready input for a processor implementable code for CFD model.
[049] At 710, the method 700 includes carrying out simulation using the simulation ready input by a processor implementable code for a CFD simulation to obtain simulated values for the plurality of field variables. The plurality of field variables includes but not limited to velocity, pressure, temperature, turbulent kinetic energy, turbulent dissipation rate, and kinematic viscosity.
[050] At 712, the method 700 includes creating a post processing input specific to the processor implementable code for CFD using the simulated values to carry out evaluation of one or more objectives of the CFD modeling. The one or more objective may be defined in the CFD model. The simulated values are processed using ML model to capture one or more thermo-fluid features in the simulated values at 714.
[051] At 716, the method 700 includes learning, by the KE, to identify a set of parameters for the CFD model based on the processing of the simulated values and a training data, as described previously with reference to FIG. 6. The training data (or the historic data) may be stored in the repository of the system. In an embodiment, the training data may be historic data that may be utilized for training the ML model, which in turn is used by KE for reasoning.
[052] In an embodiment, the learning includes design of experiment (DOE) optimization for the one or more elements of the CFD model. In an embodiment, the DOE optimization includes creating a DOE table for a plurality of options such as different numerical schemes for terms in governing equation and different solvers for linear set of equations in numeric simulations or combinations thereof , carrying out simulation for all combination and obtaining of simulation time and accuracy of the simulated results, and obtaining set of options resulting into most accurate simulation results in least amount of time . An example of a knowledge assisted CFD analysis is described further with reference to FIGS. 9A-9B.
[053] FIG. 8 is a block diagram of an exemplary computer system 801 for implementing embodiments consistent with the present disclosure. The computer system 801 may be implemented in alone or in combination of components of the system 102 (FIG. 1). Variations of computer system 801 may be used for implementing the devices included in this disclosure. Computer system 801 may comprise a central processing unit (“CPU” or “hardware processor”) 802. The hardware processor 802 may comprise at least one data processor for executing program components for executing user- or system-generated requests. The processor may include specialized processing units such as integrated system (bus)
controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc. The processor may include a microprocessor, such as AMD AthlonTM, DuronTM or OpteronTM, ARM’s application, embedded or secure processors, IBM PowerPCTM, Intel’s Core, ItaniumTM, XeonTM, CeleronTM or other line of processors, etc. The processor 802 may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some embodiments may utilize embedded technologies like application specific integrated circuits (ASICs), digital signal processors (DSPs), Field Programmable Gate Arrays (FPGAs), etc. The processor 802 may be a multi-core multi-threaded processor.
[054] Processor 802 may be disposed in communication with one or more input/output (I/O) devices via I/O interface 803. The I/O interface 803 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.11 a/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.
[055] Using the I/O interface 803, the computer system 801 may communicate with one or more I/O devices. For example, the input device 804 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc.
[056] Output device 805 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc. In some embodiments, a transceiver 806 may be disposed in connection with the processor 802. The transceiver may facilitate various types of wireless transmission or reception. For example, the
transceiver may include an antenna operatively connected to a transceiver chip (e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.
[057] In some embodiments, the processor 802 may be disposed in communication with a communication network 808 via a network interface 807. The network interface 807 may communicate with the communication network 808. The network interface may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. The communication network 808 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc. Using the network interface 807 and the communication network 808, the computer system 801 may communicate with devices 809 and 810. These devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., Apple iPhone, Blackberry, Android-based phones, etc.), tablet computers, eBook readers (Amazon Kindle, Nook, etc.), laptop computers, notebooks, gaming consoles (Microsoft Xbox, Nintendo DS, Sony PlayStation, etc.), or the like. In some embodiments, the computer system 801 may itself embody one or more of these devices.
[058] In some embodiments, the processor 802 may be disposed in communication with one or more memory devices (e.g., RAM 813, ROM 814, etc.) via a storage interface 812. The storage interface may connect to memory devices including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-1394, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical
drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc. Variations of memory devices may be used for implementing, for example, any databases utilized in this disclosure.
[059] The memory devices may store a collection of programs or database components, including, without limitation, an operating system 816, user interface application 817, user/application data 818 (e.g., any data variables or data records discussed in this disclosure), etc. The operating system 816 may facilitate resource management and operation of the computer system 801. Examples of operating systems include, without limitation, Apple Macintosh OS X, Unix, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc.), IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry OS, or the like. User interface 817 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 801, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical user interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems’ Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc.), or the like.
[060] In some embodiments, computer system 801 may store user/application data 818, such as the data, variables, records, etc. as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase. Alternatively, such databases may be implemented using standardized data structures, such as an array, hash, linked list, structured text file (e.g., XML), table, or as hand-oriented databases (e.g., using HandStore, Poet, Zope, etc.). Such databases may be consolidated or distributed, sometimes among various computer systems discussed above. It is to be understood that the structure and operation of any computer or database
component may be combined, consolidated, or distributed in any working combination.
[061] Additionally, in some embodiments, (the server, messaging and instructions transmitted or received may emanate from hardware, including operating system, and program code (i.e., application code) residing in a cloud implementation. Further, it should be noted that one or more of the systems and methods provided herein may be suitable for cloud-based implementation. For example, in some embodiments, some or all of the data used in the disclosed methods may be sourced from or stored on any cloud computing platform.
[062] For demonstrating the end-to-end processing of the disclosed embodiments, an experiment scenario is presented with reference to FIGS. 9A-9B. In the present scenario, example of a famous CFD analysis called Pitz and Daily named after two scientists namely Robert W Pitz and John W Daily who worked on it. This Study of unsteady turbulent flow of air over a backward-facing step”
[063] This simulation is to replicate experiment performed in 1983 by Robert W Pitz and John W Daily in which they aimed to assess the effect of combustion on the mean flow field properties such as mixing layer growth, entrainment rate, and reattachment length. The turbulent mixing layer formed at the rearward facing step after combustion will be what is simulated, and the data will be gathered in a similar fashion. This is cold flow simulation. Physics involved here is incompressible turbulent flow, two-dimensional flow, viscous flow, steady flow without any chemical reaction.
[064] The geometry presented in FIG. 9A was used to create a CFD model of pitz-Daily case. The domain is two dimensional i.e. variation in third dimensions is ignored, consisting of a short inlet, a backward-facing step and converging nozzle at outlet. Details of the geometry and the mesh were provided to the system 102 by a user through the user interface. The system carried out meshing of the geometry. The system 102 also performed checks on mesh for quality and compares it with targeted values.
[065] The query manager module, using the elements of CFD model,provided geometry and mesh details to the task executer module of the system 102
which carried out meshing of the geometry. It also performs checks on the mesh for quality and compared it with targeted values using CFD knowledge engine.
[066] Flow inside the geometry of FIG. 9A was simulated by solving continuity and momentum equation.. Details of the physics were specified by asking series of questions to the user. UI progressively interacted with the query manager, which used elements of CFD model and the CFD knowledge engine, developed mathematical form of physics (as Governing Equations). Example of a series of questions are,
1) Is flow isothermal?, yes
2) Is flow steady? yes
3) Is flow turbulent? No
System 102 selects following governing equations,
Continuity Equation
VU = 0
Momentum Equation
U.7U= -Vp + V. (yVU)
[067] The aforementioned equations were to be numerically solved on a discretized geometry of FIG. 9B. In the process of solving above equations all the terms appearing were to be discretized using one of the available discretization schemes.
[068] Boundary conditions were specified by asking series of questions to the user. Query manager, using elements of CFD model and CFD knowledge engine, checks available boundary faces in meshed geometry. User was provided list of available boundary types and boundary conditions to select from.
Table 1. List of Boundary faces, Boundary types and Available Boundary conditions (BCs)
Boundary Type Available BC for U Available BC's for P
Inlet Patch Fixed value, zero gradient Fixed value, zero gradient
Outlet Patch Fixed value, zero gradient Fixed value, zero gradient
Upper wall Wall Fixed normalinletoutlet, No slip Calculated, zero gradient
Lower wall Wall Fixed normalinletoutlet, No slip Calculated, zero gradient
[069] For numerical discretization, mathematical terms that needed to be discretized were: ∇, ∙∇, ∇and ∇∙ (∇)
[070] The query manager provided a list of available Numerical schemes for each term using CFD knowledge engine and this list was displayed at the UI. The user was guided using contextual help on screen (by CFD knowledge engine) for scheme selection.
Table 2. List of terms and available schemes for each term
Term Available schemes
Divergence schemes, ∇ Gauss Limited Linear V, Gauss Linear, Gauss upwind
Gradient schemes, ∇p Least square, Gauss Linear
Interpolation Schemes Cubic, Linear
SnGradient schemes Uncorrected, Corrected, Limited , Orthogonal
[071] After discretization of mathematical terms, resulting algebraic equations needed to be solved using solution algorithms namely SIMPLE algorithm. The algorithm is iterative in nature and in the process of it solves matrix equations of type = where A is a coefficient matrix of size equivalent to the square of the number of cells in the meshed geometry. A practical CFD model shall have number of cells in the order of millions. So, the A matrix can have elements of the order of trillion. In this case, there were two matrix equations, namely equation and equation. These two equations needed to be solved using available matrix solvers. Selection of matrix solver was done by the system itself using DOE, ML, and optimization (as described in FIG. 6). After the solution the system produced values of pressure (p), velocity (U), turbulent kinetic energy (k) and turbulent dissipation rate () on each cell of the discretized geometry.
Table 3 Matrix solver for ,
SN Solver
1 GAMG
2 PCG
[072] There are number of matrix solvers for p equation (Table 3) similarly, there are number of matrix solver for U equation as well (Table 4), [073] Table 4: Matrix solver for U equation
SN Solver
1 PBiCGStab
2 smoothSolver
3 PBiCG
[074] Now a DOE table prepared using full factorial method like this (Table 5)
[075] Table 5: DOE table for selection of matrix solver
[076] A new model corresponding to each set of options was created by query manager. The generated model was converted into CFD software input file format by converter. This input file was then simulated for few iterations and time for one iteration is collected. The aforementioned steps were repeated for each combination once and generated data for the time per iteration. Now, the solver for p and U equations along with time per iteration were passed to machine learning model namely linear, two degree, three degree, Support Vector Machine(SVM), Random Forest and K-Nearest Neighbor (KNN) and then this machine learned model was used to get set of solvers for which simulation time is minimum. The corresponding solver was the solver that was needed to be used for carrying out complete simulation.
[077] The knowledge of matrix solver for a generated matrix was stored in the CFD knowledge engine. When a user defines a problem that results into same
or similar Elements of CFD model, the CFD knowledge engine prompts with the possible matrix solver and DOE optimization need not be done again for same or similar problem. In this way, the system 102 keeps on learning from the past through user input and ML and optimization and uses the learned knowledge whenever needed. This way system takes most suitable action in an autonomous fashion and ensures selection of optimum parameters without requiring expert user inputs. For example, when elements of CFD model for the given problem are same or similar to that of the above case, then system will select GAMG for p equation and smoothSolver for U equation as CFD knowledge engine has already learned for it.
[078] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[079] Various embodiments disclose method and system for a knowledge assisted CFD modeling and simulation. The various CFD processes are broken into modules such as geometry & mesh, physics, modeling etc. and combined through a workflow. This way the CFD modeling process becomes and integrated process. User interface in each module is sensitive to the inputs provided in the previous modules, this makes UI contextual to the objective and physics of the problem and shows only essential elements required for problem consideration. Moreover, system suggests best options based on the knowledge gathered from the fundamentals and past executions. Additionally, CFD model details are captured into a neutral format which can be converted into CFD solver input for variety of CFD solvers. As a result, the disclosed system and method can be used to solve variety of CFD problems using number of CFD solvers.
[080] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message
therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
[081] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[082] The illustrated steps are set out to explain the exemplary
embodiments shown, and it should be anticipated that ongoing technological
development will change the manner in which particular functions are performed.
These examples are presented herein for purposes of illustration, and not limitation.
Further, the boundaries of the functional building blocks have been arbitrarily
defined herein for the convenience of the description. Alternative boundaries can
be defined so long as the specified functions and relationships thereof are
appropriately performed. Alternatives (including equivalents, extensions,
variations, deviations, etc., of those described herein) will be apparent to persons
skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[083] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[084] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
We Claim:
1. A processor implemented method (700), comprising:
systematically receiving (702), at a user interface (UI) via one or more hardware processors, a set of inputs for a computational fluid dynamics (CFD) modeling and analysis, wherein the set of inputs pertains to a set of elements of the CFD model and are received by dynamically interacting with a user through the UI, wherein dynamically interacting with the user comprises:
obtaining (704) a set of details of each element of the set of elements of the CFD model, the details obtained through one or more CFD ontologies comprising elements of the CFD model, wherein obtaining the details of an element from amongst the set of elements comprises defining a query associated with the element in natural language, presenting the query on the UI, receiving response to the query on the UI and defining one or more subsequent queries in natural language to obtain one or more subsequent responses until a stopping criteria is met, wherein the stopping criteria comprises one of a user defined input, one or more rules defined by the one or more ontologies, and one or more predefined requirements associated with the CFD model, and wherein the query is defined by executing a CFD knowledge engine (KE) over the one or more CFD ontologies, wherein the one or more CFD ontologies comprises elements of geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software and post processing, and wherein the CFD KE comprises a hierarchical aggregation of a plurality of CFD knowledge elements associated with geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software and post processing of simulated result; creating (706), via the one or more hardware processors, a CFD model using the one or more responses and the set of elements of the CFD model, the CFD model comprising a plurality of details associated with geometry, material, post processing, mathematical modelling, boundary conditions, numerical schemes, and solvers;
creating (708), by a CFD software specific converter using the CFD model, a simulation ready input for a processor implementable code for CFD determined by the CFD KE, via the one or more hardware processors;
carrying out simulation (710) using the simulation ready input by a processor implementable code for a CFD simulation to obtain simulated values for a plurality of field variables associated with the CFD model, via the one or more hardware processors, wherein the plurality of field variables comprises velocity, pressure, temperature, turbulent kinetic energy, turbulent dissipation rate, and kinematic viscosity;
creating (712) a post processing input specific to the processor implementable code for CFD using the simulated values to carry out evaluation of one or more objectives of the CFD modeling defined in the CFD model, via the one or more hardware processors;
processing (714), via the one or more hardware processors, the simulated values using a machine learning (ML) model to capture one or more thermo-fluid features in the simulated values; and
learning (716), by the KE, to identify a set of parameters for the CFD model based on the processing of the simulated values and a training data, via the one or more hardware processors, wherein the learning comprises design of experiment (DOE) optimization for one or more elements of the CFD model.
2. The processor implemented method of claim 1, wherein systematically receiving the set of inputs further comprises receiving the set of inputs in an order and based on type of the set of inputs.
3. The processor implemented method of claim 1, further comprising dynamically assigning links to access one or more help documents based on value of the element in the user interface.
4. The processor implemented method of claim 1, wherein the DOE optimization comprises:
creating a DOE table for a plurality of options in mesh, physics, numeric, simulations or combinations of the plurality of options in mesh, physics, numeric, simulations;
carrying out simulation for all combination and obtaining simulation time and accuracy of the simulated results; and
obtaining set of options resulting into most accurate simulation results in least amount of time.
5. The processor implemented method of claim 1, wherein the knowledge elements are stored in one or more formats comprising a database, contextual conditions, rules, mathematical models, data models, machine learning models and documents.
6. The processor implemented method of claim 1, wherein the ML model comprises one of linear, two-degree, three-degree, Support Vector Machine (SVM), Random Forest and K-Nearest Neighbor (KNN).
7. The processor implemented method of claim 1, wherein the elements of the CFD model is captured in a neutral file format.
8. The processor implemented method of claim 7, wherein the elements of the CFD model comprises at least a resource element comprising information associated with computational resources needed for carrying out the simulation and the post processing process, information of resolution of the UI to visualize post processed output.
9. A system (801), comprising:
a memory (815) storing instructions;
one or more communication interfaces (803); and
one or more hardware processors (802) coupled to the memory (815) via the one or more communication interfaces (803), wherein the one or more hardware processors (802) are configured by the instructions to:
systematically receive, at a user interface (UI), a set of inputs for a computational fluid dynamics (CFD) modeling and analysis, wherein the set of inputs pertains to a set of elements of the CFD model and are received by dynamically interacting with a user through the UI, wherein to dynamically interact, the one or more hardware processors are configured by the instructions to:
obtain a set of details of each element of the set of elements of the CFD model, the details obtained through one or more CFD ontologies comprising elements of the CFD model,
wherein to obtain the details of an element from amongst the set of elements, the one or more hardware processors are configured by the instructions to define a query associated with the element in natural language, presenting the query on the UI, receive response to the query on the UI and define one or more subsequent queries in natural language to obtain one or more subsequent responses until a stopping criteria is met, and
wherein the stopping criteria comprises one of a user defined input, one or more rules defined by the one or more ontologies, and one or more predefined requirements associated with the CFD model, and wherein the query is defined by executing a CFD knowledge engine (KE) over the one or more CFD ontologies, and
wherein the one or more CFD ontologies comprises elements of geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software and post processing, and
wherein the CFD KE comprises a hierarchical aggregation of a plurality of CFD knowledge elements associated with geometry, meshed geometry, materials, fluid mechanics, mathematical modeling, numeric, CFD software and post processing of simulated result;
create a CFD model using the one or more responses and the set of elements of the CFD model, the CFD model comprising a plurality of details associated with geometry, material, post processing, mathematical modelling, boundary conditions, numerical schemes, and solvers;
create, by a CFD software specific converter using the CFD model, a simulation ready input for a processor implementable code for CFD determined by the CFD KE;
carry out simulation using the simulation ready input by a processor implementable code for a CFD simulation to obtain simulated values for a plurality of field variables associated with the CFD model, via the one or more hardware processors, wherein the plurality of field variables comprises velocity, pressure, temperature, turbulent kinetic energy, turbulent dissipation rate, and kinematic viscosity;
create a post processing input specific to the processor implementable code for CFD using the simulated values to carry out evaluation of one or more objectives of the CFD modeling defined in the CFD model;
process the simulated values using a machine learning (ML) model to capture one or more thermo-fluid features in the simulated values; and
learn, by the KE, to identify a set of parameters for the CFD model based on the processing of the simulated values and a training data, wherein the learning comprises design of experiment (DOE) optimization for one or more elements of the CFD model.
10. The system of claim 9, wherein systematically receiving the set of inputs further comprises receiving the set of inputs in an order and based on type of the set of inputs.
11. The system of claim 9, further comprising dynamically assigning links to access one or more help documents based on value of the element in the user interface.
12. The system of claim 9, wherein the DOE optimization comprises:
creating a DOE table for a plurality of options in mesh, physics, numeric,
simulations or combinations of the plurality of options in mesh, physics, numeric, simulations;
carrying out simulation for all combination and obtaining simulation time and accuracy of the simulated results; and
obtaining set of options resulting into most accurate simulation results in least amount of time.
13. The system of claim 9, wherein the knowledge elements are stored in one or more formats comprising a database, contextual conditions, rules, mathematical models, data models, machine learning models and documents.
14. The system of claim 9, wherein the ML model comprises one of linear, two-degree, three-degree, Support Vector Machine (SVM), Random Forest and K-Nearest Neighbor (KNN).
15. The system of claim 9, wherein the elements of the CFD model is captured in a neutral file format.
16. The system of claim 16, wherein the elements of the CFD model comprises at least a resource element comprising information associated with computational resources needed for carrying out the simulation and the post processing process, information of resolution of the UI to visualize post processed output.
| # | Name | Date |
|---|---|---|
| 1 | 202121013171-STATEMENT OF UNDERTAKING (FORM 3) [25-03-2021(online)].pdf | 2021-03-25 |
| 2 | 202121013171-REQUEST FOR EXAMINATION (FORM-18) [25-03-2021(online)].pdf | 2021-03-25 |
| 3 | 202121013171-FORM 18 [25-03-2021(online)].pdf | 2021-03-25 |
| 4 | 202121013171-FORM 1 [25-03-2021(online)].pdf | 2021-03-25 |
| 5 | 202121013171-FIGURE OF ABSTRACT [25-03-2021(online)].jpg | 2021-03-25 |
| 6 | 202121013171-DRAWINGS [25-03-2021(online)].pdf | 2021-03-25 |
| 7 | 202121013171-DECLARATION OF INVENTORSHIP (FORM 5) [25-03-2021(online)].pdf | 2021-03-25 |
| 8 | 202121013171-COMPLETE SPECIFICATION [25-03-2021(online)].pdf | 2021-03-25 |
| 9 | 202121013171-Proof of Right [20-07-2021(online)].pdf | 2021-07-20 |
| 10 | Abstract1.jpg | 2021-10-19 |
| 11 | 202121013171-FORM-26 [22-10-2021(online)].pdf | 2021-10-22 |
| 12 | 202121013171-FER.pdf | 2024-03-01 |
| 13 | 202121013171-OTHERS [29-07-2024(online)].pdf | 2024-07-29 |
| 14 | 202121013171-FER_SER_REPLY [29-07-2024(online)].pdf | 2024-07-29 |
| 15 | 202121013171-COMPLETE SPECIFICATION [29-07-2024(online)].pdf | 2024-07-29 |
| 16 | 202121013171-CLAIMS [29-07-2024(online)].pdf | 2024-07-29 |
| 17 | 202121013171-ABSTRACT [29-07-2024(online)].pdf | 2024-07-29 |
| 18 | 202121013171-US(14)-HearingNotice-(HearingDate-15-12-2025).pdf | 2025-11-20 |
| 1 | SearchHistory(34)E_29-02-2024.pdf |