@techreport{R-91-06, TITLE = {ObjectMath - Object Oriented Mathematical Modeling in Scientific Computing, Applied to Machine Elements Analysis}, AUTHOR = {Peter Fritzson}, YEAR = {1991}, NUMBER = {R-91-06}, INSTITUTION = ida, ADDRESS = idaaddr, ABSTRACTURL = {/publications/cgi-bin/tr-fetch.pl?r-91-06+abstr}, ABSTRACT = {The current state of the art in programming for scientific computing is still very low level. Much numerical software is being developed the traditional way in FORTRAN. This is especially true in application areas such as machine elements analysis, where complex non-linear problems are standard. In order to improve this situation, we are developing a practically usable high-level object-oriented programming environment for scientific computing, which supports programming in equations instead of low-level procedural programming, and permits better reuse of equations in mathematical models.As an essential component in this environment we have designed and implemented a modeling and programming language called ObjectMath (Object oriented Mathematical language for scientific computing). It is a hybrid language that combines object oriented language features with a computer algebra language, in this case Mathematica. Using ObjectMath, it is possible to model classes of equation objects, and to support inheritance of equations. Geometrical constraints are expressed through connection objects and coordinate system objects, and through use of parametric surface techniques. The environment is designed to handle realistic problems. This is achieved by allowing the user to specify transformations and simplifications of formulae in the model, in order to arrive to a representation which is solvable. When necessary, equations can be transformed to C++ code for efficient numerical solution. A prototype version of the environment is currently being used for a 3-dimensional example model of 200 equations describing a rolling bearing.}, IDANR = {LiTH-IDA-R-91-06}