Patent EA-004383-B1 (EA)
Title: Method and system for creating on computer a native operators and a file for simulator of model fluid flow in porous medias
Inventor: DYE LESTER W
IPC: G06F9/44
Filed: 2000-10-12
Abstract: 1. A method for creating on a computer a native operators and file for a simulator of model fluid flow in porous medias, comprising the steps of: inputting into a symbolic language translator one or more equations and parameters describing the model to be created by the simulator: generating one or more model objects from the one or more equations and parameters; generating a symbolic representation for one or more residual and tangent matrix operators of the one or more model objects; generating optimization rules for geometric invariant quantities of the residual and tangent matrix operators; generating numeric core code and data structure initializing core code in a predetermined programming language from the language of the symbolic language translator; formatting and optimizing the numeric core code using the symbolic language translator; generating the native operators and test code file by processing the splice file through the symbolic language translator to yield the native operators and test code file. 2. The method of Claim 1, wherein the inputting step comprises inputting the one or more equations and parameters using a graphical user interface to the symbolic language translator, the graphical user interface comprising a notational palette for entering mathematical symbols. 3. The method of Claim 1, wherein the porous media comprises an oil reservoir. 4. The method of Claim 1, further comprising the step of generating one or more error model objects and Dirichlet boundary condition model objects from the one or more model objects for estimating the error in the one or more equations, and wherein the generating a symbolic representation step further comprises generating the symbolic representation using the one or more error model objects. 5. The method of Claim 4, wherein the model objects and the error model objects are intermediate user-viewable objects that can be used to verify progress. 6. The method of Claim 1, wherein said generating optimization rules step comprises pre-calculating the geometric invariant quantities of a simplex. 7. The method of Claim 6, wherein said pre-calculating comprises sorting one or more resulting equations for proper placement into the numeric core code. 8. The method of Claim 1, wherein the optimization rules are semantic optimization rules. 9. The method of Claim 1, further comprising the step of converting symbolic names from the language of the symbolic language translator to the high level programming language. 10. The method of Claim 1, further comprising the step of generating a set of test inputs for one or more of the symbolic residual and tangent matrix operators and calculating the outputs of the one or more symbolic residual and tangent matrix operators based on the generated inputs to test for errors. 11. The method of Claim 1, wherein the symbolic language translator is Mathematica. 12. The method of Claim 11, further comprising the step of solving the one or more equations without using Mathematica's Integrate function. 13. The method of Claim 1, wherein the one or more equations are partial differential equations. 14. The method of Claim 13, wherein the one or more equations describe a four-dimensional physical system. 15. The method of Claim 1, wherein the inputting step is performed by a human and all other steps are automatically performed by the computer. 16. The method of Claim 1, wherein the simulator comprises a solver, a user interface and the native operators and test code file. 17. A system for creating on a computer a native operators and test code file for a finite element simulator to model fluid flow in porous media, comprising: means for inputting into a symbolic language translator one or more equations and parameters describing the model to be created by the simulator; instructions for generating one or more model objects from the one or more equations and parameters; instructions for generating a symbolic representation for one or more residual and tangent matrix operators of the one or more model objects; instructions for generating optimization rules for geometric invariant quantities of the residual and tangent matrix operators: instructions for generating numeric core code and data structure initializing core code in a high level programming language from the language of the symbolic language translator; instructions for formatting and optimizing the numeric core code using the symbolic language translator; and instructions for generating the native operators and test code file by processing the splice file through the symbolic language translator to yield the native operators and test-code file. 18. The system of Claim 17, wherein the inputting instructions further comprise instructions for inputting the one ore more equations and parameters using a graphical user interface to the symbolic language translator, the graphical user interface comprising a notational palette for entering mathematical symbols. 19. The system of Claim 17, wherein the porous media comprises an oil reservoir. 20. The system of Claim 17, further comprising instructions for generating one or more error model objects from the one or more model objects for estimating the error in the one or more equations, and wherein the instructions for generating a symbolic representation further comprise instructions for generating the symbolic representation using the one or more error model objects. 21. The system of Claim 20, wherein the model objects and the error model objects are intermediate user-viewable objects that can be used to verify progress. 22. The system of Claim 17, wherein said instructions for generating optimization rules comprises pre-calculating the geometric invariant quantities. 23. The system of Claim 22, wherein said pre-calculating comprises using a simplex method and matrix operations to calculate the geometric invariant quantities, and sorting one or more resulting equations for proper placement into the numeric core code. 24. The system of Claim 17, wherein the optimization rules are semantic optimization rules. 25. The system of Claim 17, further comprising instructions for converting symbolic names from the language of the symbolic language translator to the high level programming language. 26. The system of Claim 17, further comprising instructions for generating a set of test inputs for one or more of the symbolic residual and tangent matrix operators and calculating the outputs of the one or more symbolic residual and tangent matrix operators based on the generated inputs to test for errors. 27. The system of Claim 17, wherein the symbolic language translator is Mathematica. 28. The system of Claim 27, further comprising instructions for solving the one or more equations without using Mathematica's integrate function. 29. The system of Claim 17, wherein the one or more equations are partial differential equations. 30. The system of Claim 29, wherein the one or more equations describe a four-dimensional physical system. 31. The system of Claim 17, wherein the inputting means are a computer interface and wherein a human inputs the one or more equation and parameters and all other instructions are automatically performed by the computer. 32. The system of Claim 17, wherein the high level programming language is Java, C++ or Fortran. 33. The system of Claim 17, wherein the simulator comprises a solver, a user interface and the native operators and test code file.