liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Tools for design, interactive simulation, and visualization of object-oriented models in scientific computing
Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
2000 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Mathematical models used in scientific computing are becoming large and complex. In order to handle the size and complexity, the models should be better structured (using objectorientation) and visualized (using advanced user interfaces). Visualization is a difficult task, requiring a great deal of effort from scientific computing specialists.

Currently, the visualization of a model is tightly coupled with the structure of the model itself. This has the effect that any changes to the model require that the visualization be redesigned as well. Our vision is to automate the generation of visualizations from mathematical models. In other words, every time the model changes, its visualization is automatically updated without any programming efforts.

The innovation of this thesis is demonstrating this approach in a number of different situations, e.g. for input and output data, and for two- and three-dimensional visualizations. We show that this approach works best for object-oriented languages (ObjectMath, C++, and Modelica).

In the thesis, we describe the design of several programming environments and tools supporting the idea of automatic generation of visualizations.

Tools for two-dimensional visualization include an editor for class hierarchies and a tool that generates graphical user interfaces from data structures. The editor for class hierarchies has been designed for the ObjectMath language, an object-oriented extension of the Mathematica language, used for scientific computing. Diagrams showing inheritance, partof relations, and instantiation of classes can be created, edited, or automatically generated from a model structure.

A graphical user interface, as well as routines for loading and saving data, can be automatically generated from class declarations in C++ or ObjectMath. This interface can be customized using scripts written in Tcl/Tk.

In three-dimensional visualization we use parametric surfaces defined by object-oriented mathematical models, as well as results from mechanical simulation of assemblies created by CAD tools.

Mathematica includes highly flexible tools for visualization of models, but their performance is not sufficient, since Mathematica is an interpreted language. We use a novel approach where Mathematica objects are translated to C++, and used both for simulation and for visualization of 3D scenes (including, in particular, plots of parametric functions).

Traditional solutions to simulations of CAD models are not customizable and the visualizations are not interactive. Mathematical models for mechanical multi-body simulation can be described in an object-oriented way in Modelica. However, the geometry, visual appearance, and assembly structure of mechanical systems are most conveniently designed using interactive CAD tools. Therefore we have developed a tool that automatically translates CAD models to visual representations and Modelica objects which are then simulated, and the results of the simulations are dynamically visualized. We have designed a high performance OpenGL-based 3D-visualization environment for assessing the models created in Modelica. These visualizations are interactive (simulation can be controlled by the user) and can be accessed via the Internet, using VRML or Cult3D technology. Two applications (helicopter flight and robot simulation) are discussed in detail.

The thesis also contains a section on integration of collision detection and collision response with Modelica models in order to enhance the realism of simulations and visualizations.

We compared several collision response approaches, and ultimately developed a new penalty-based collision response method, which we then integrated with the Modelica multibody simulation library and a separate collision detection library.

We also present a new method to compress simulation results in order to reuse them for animations or further simulations. This method uses predictive coding and devilers high compression quality for results from ordinary differential equation solvers with varying time step.

Place, publisher, year, edition, pages
Linköping: Linköpings universitet , 2000. , 42 p.
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 627
National Category
Computer Science
Identifiers
URN: urn:nbn:se:liu:diva-35606Local ID: 27914ISBN: 91-7219-709-9 (print)OAI: oai:DiVA.org:liu-35606DiVA: diva2:256454
Public defence
2000-06-05, Estraden, Hus E, Linköpings Universitet, Linköping, 13:15 (Swedish)
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2013-02-12
List of papers
1. Variant handling, inheritance and composition in the ObjectMath computer algebra environment
Open this publication in new window or tab >>Variant handling, inheritance and composition in the ObjectMath computer algebra environment
1993 (English)In: Design and Implementation of Symbolic Computation Systems: International Symposium, DISCO '93 Gmunden, Austria, September 15–17, 1993 Proceedings / [ed] Alfonso Miola, Springer Berlin/Heidelberg, 1993, 145-163 p.Conference paper, Published paper (Refereed)
Abstract [en]

ObjectMath is a high-level programming environment and modeling language for scientific computing which supports variants and graphical browsing in the environment and integrates object-oriented constructs such as classes and single and multiple inheritance within a computer algebra language. In addition, composition of objects using the part-of relation and support for solution of systems of equations is provided. This environment is currently being used for industrial applications in scientific computing. The ObjectMath 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 at a representation which is efficiently solvable. When necessary, equations can be transformed to C++ code for efficient numerical solution. The re-use of equations through inheritance in general reduces models by a factor of two to three, compared to a direct representation in the Mathematica computer algebra language. Also, we found that multiple inheritance from orthogonal classes facilitates re-use and maintenance of application models.

Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 1993
Series
Lecture Notes in Computer Science, ISSN 0302-9743 (print), 1611-3349 (online) ; 722
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88534 (URN)10.1007/BFb0013175 (DOI)978-3-540-57235-0 (ISBN)
Conference
International Symposium, DISCO '93 Gmunden, Austria, September 15–17, 1993
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2014-10-08
2. ObjectMath inheritance and composition diagram editor
Open this publication in new window or tab >>ObjectMath inheritance and composition diagram editor
2000 (English)In: Linköping Electronic Articles in Computer and Information Science, ISSN 1401-9841, Vol. 5, no 6Article in journal (Refereed) Published
Abstract [en]

ObjectMath is a new object-oriented modeling language for scientific computing. The major innovation of this language is the introduction of object-oriented structure into a computer algebra language making it possible to group equations and formulae into classes. ObjectMath contains three object-oriented structuring constructs (class, instance and part) providing classes, single and multiple inheritance and composition of parts. Typical models in ObjectMath include between 10 and 30 such constructs. Inheritance and composition relationships are established between them. The problem is how to inspect, browse, and modify these relations in a convenient way. Our solution to this problem is using a graphical two-dimensional diagram editor connected to a text editor. An integrated programming environment for ObjectMath includes this editor. The report describes how object-oriented constructs of ObjectMath are mapped to their graphical representation. The ObjectMath syntax rules are mapped to diagram editor operations so that only syntactically correct models can be created.

Place, publisher, year, edition, pages
Linköping: Linköpings Universitet, 2000
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88513 (URN)
Available from: 2013-02-11 Created: 2013-02-11 Last updated: 2013-02-12
3. Automatic generation of user interfaces from data structure specifications and object-oriented application models
Open this publication in new window or tab >>Automatic generation of user interfaces from data structure specifications and object-oriented application models
1996 (English)In: ECOOP ’96 — Object-Oriented Programming: 10th European Conference Linz, Austria, July 8–12, 1996 Proceedings / [ed] Pierre Cointe, Springer Berlin/Heidelberg, 1996, 114-141 p.Conference paper, Published paper (Refereed)
Abstract [en]

Applications in scientific computing operate with data of complex structure and graphical tools for data editing, browsing and visualization are necessary.

Most approaches to generating user interfaces provide some interactive layout facility together with a specialized language for describing user interaction. Realistic automated generation approaches are largely lacking, especially for applications in the area of scientific computing.

This paper presents two approaches to automatically generating user interfaces (that include forms, pull-down menus and pop-up windows) from specifications.

The first is a semi-automatic approach, that uses information from object-oriented mathematical models, together with a set of predefined elementary types and manually supplied layout and grouping information. This system is currently in industrial use. A disadvantage is that some manual changes need to be made after each update of the model.

Within the second approach we have designed a tool, PDGen (Persistence and Display Generator) that automatically creates a graphical user interface and persistence routines from the declarations of data structures used in the application (e.g., C++ class declarations). This largely eliminates the manual update problem. The attributes of the generated graphical user interface can be altered.

Now structuring and grouping information is automatically extracted from the object-oriented mathematical model and transferred to PDGen. This is one of very few existing practical systems for automatically generating user interfaces from type declarations and related object-oriented structure information.

Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 1996
Series
Lecture Notes in Computer Science, ISSN 0302-9743 (print), 1611-3349 (online) ; 1098
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88536 (URN)10.1007/BFb0053059 (DOI)978-3-540-61439-5 (ISBN)
Conference
European Conference on Object-Oriented Programming (ECOOP96), Linz, Austria, 8-12 July 1996
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2014-10-08
4. Using the Mathematica environment for generating efficient 3D graphics
Open this publication in new window or tab >>Using the Mathematica environment for generating efficient 3D graphics
1997 (English)In: Proceedings of EDUGRAPHICS/COMPUGRAPHICS-97 / [ed] Harold P. Santo, Graphic Science Promotions and Publications , 1997, 222-231 p.Conference paper, Published paper (Refereed)
Abstract [en]

Mathematica is an integrated environment for symbolic transformation of mathematical formulas. This environment has applications in scientific computing, scientific visualization and education. Mathematica gives possibility to describe visualized objects in form of mathematical formulas and expressions. Such descriptions are more clear and concise than low-level C or C++ code. Many visualization systems require input in the form of (sometimes huge) data files, which is a disadvantage for highly interactive and animated 3D graphics applications. This is also the case for graphics expressed in Mathematica which is computed interpretively and saved in a static data form before display. This causes low graphic performance. In this paper we describe an approach which uses object geometry descriptions in the form of efficient program code instead of huge data files. We have built a tool that produces 3D visualizations of geometrical objects and object trajectories from mathematical specifications expressed as parametric functions in Mathematica. A compiler has been developed which generates efficient C++ code from such functions and symbolic expressions. This code is linked together with a powerful 3D browsing environment and uses OpenGL with possible hardware support. All the computations are performed within the visualizing application. Object geometry, color, etc. can be changed dynamically during animations. Thus the flexibility of interactive exploration of 3D scenes and animation become available for the end-user.

Place, publisher, year, edition, pages
Graphic Science Promotions and Publications, 1997
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88538 (URN)
Conference
EDUGRAPHICS/COMPUGRAPHICS-97, Vilamoura, Portugal, December 15-17, 1997
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2014-10-08
5. Tools for design, interactive simulation and visualization for dynamic analysis of mechanical models
Open this publication in new window or tab >>Tools for design, interactive simulation and visualization for dynamic analysis of mechanical models
2000 (English)In: Linköping Electronic Articles in Computer and Information Science, ISSN 1401-9841, Vol. 5, no 7Article in journal (Refereed) Published
Abstract [en]

The complexity of mechanical and multi-domain simulation models is rapidly increasing. Therefore new methods and standards are needed for model design. A new language, Modelica, has been proposed by an international design committee as a standard, object-oriented, equation-based language suitable for description of the dynamics of systems containing mechanical, electrical, chemical and other types of components. However, it is complicated to describe system models in textual form, whereas CAD systems are convenient tools for this purpose. Therefore we have designed an environment that supports the translation from CAD models to standard Modelica representation. This representation is then used for simulation and visualization. Assembly information is extracted from CAD models, from which a Modelica model is generated. By solving equations expressed in Modelica, the system is simulated. We have designed several interactive 3D visualization tools which display expected and actual model behavior, as well as additional graphical elements for the purpose of engineering visualization. We applied this environment for robot movement and helicopter flight simulation.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88542 (URN)
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2013-02-12
6. Simulation and visualization of autonomous helicopter and service robots
Open this publication in new window or tab >>Simulation and visualization of autonomous helicopter and service robots
2000 (English)In: Linköping Electronic Articles in Computer and Information Science, ISSN 1401-9841, Vol. 5, no 8Article in journal (Refereed) Published
Abstract [en]

To decrease the costs and the time it takes to develop and test new products, computer simulations are very helpful. Product models can be simulated, and their behavior can be examined. This applies not only to hardware, but even to software products that are composed of several components, so that their cooperative behaviour is simulated in a virtual environment. Some components of this environment can later be replaced by physical, real world devices. Some other components can be just prototypes, which are later replaced by more complex and realistic software components. In any case the idea is to construct a model and simulate both software and hardware before the actual production starts. In the WITAS project there is a need to develop a system which contains helicopters, robots and various control software and hardware. In particular there is a need to simulate the dynamic behavior of an autonomous aircraft within a virtual environment. There is a need to simulate a service environment, where robots can interact with the landed helicopter.

In this report a study of object-oriented modeling of mechanical systems using Modelica is presented with applications to autonomous helicopters and robots. Mechanical features of an autonomous helicopter have been modeled in order to verify the control system. As the result the control system has been tested and tuned. However, the flight still is not stable in the cases when flight mission directions change too often.

A robot which is able to grab, move, and release objects using automatic or manual control have been modeled. The problem of inverse geometry (and inverse kinematics) can be solved for robots using our approach. The robot models can be controlled interactively.

The geometry and dynamic structure of these systems has been designed in CAD tools and later integrated with control systems for steering these devices. The simulation has been performed in Modelica.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88544 (URN)
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2013-02-12
7. A design, simulation and visualization environment for object-oriented mechanical and multi-domain models in Modelica
Open this publication in new window or tab >>A design, simulation and visualization environment for object-oriented mechanical and multi-domain models in Modelica
1999 (English)In: 1999 IEEE International Conference on Information Visualization, Proceedings / [ed] E. Banissi, F. Khosrowshahi, M. Sarfraz, E. Tatham, A. Ursyn, 1999, 188-193 p.Conference paper, Published paper (Refereed)
Abstract [en]

The complexity of mechanical and multi-domain simulation models is rapidly increasing. Therefore new methods and standards are needed for model design. A new language, Modelica, has been proposed by an international design committee as a standard, object oriented, equation based language suitable for description of the dynamics of systems containing mechanical, electrical, chemical and other types of components. However, it is complicated to describe the system models in textual form, whereas CAD systems are convenient tools for this purpose. We have designed an environment that supports the translation from CAD models to standard Modelica notation. This notation is then used for simulation and visualization. Assembly information is extracted from the CAD models, from which a Modelica model is generated. By solving equations expressed in Modelica, the system is simulated. A 3D visualization tool based on OpenGL visualizes expected and actual model behavior, as well as additional parameters. The environment has been applied for robot and flight simulation

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88546 (URN)10.1109/IV.1999.781557 (DOI)0-7695-0210-5 (ISBN)
Conference
IEEE International Conference on Information Visualization, IEEE Computer Society, 14-16 July, London, England
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2014-10-08
8. An integrated Modelica environment for modeling, documentation and simulation
Open this publication in new window or tab >>An integrated Modelica environment for modeling, documentation and simulation
1998 (English)In: Proceedings of the 1998 Summer Computer Simulation Conference, SCSC'98, Reno, Nevada, USA, 1998, 308-313 p.Conference paper, Published paper (Refereed)
Abstract [en]

Modelica is a new object-oriented multi-domain modeling language based on algebraic and differential equations. In this paper we present an environment that integrates different phases of the Modelica development lifecycle. This is achieved by using the Mathematica environment and its structured documents, “notebooks”. Simulation models are represented in the form of structured documents, which integrate source code, documentation and code transformation specifications, as well as providing control over simulation and result visualization.

Import and export of Modelica code between internal structured and external textual representation is supported. Mathematica is an interpreted language, which is suitable as a scripting language for controlling simulation and visualization. Mathematica also supports symbolic transformations on equations and algebraic expressions which is useful in building mathematical models.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88548 (URN)
Conference
The 1998 Summer Computer Simulation Conference (SCSC98) July 19-22 1998, Reno, Nevada, USA
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2014-10-08
9. 3D graphics and Modelica: an integrated approach
Open this publication in new window or tab >>3D graphics and Modelica: an integrated approach
2000 (English)In: Linköping Electronic Articles in Computer and Information Science, ISSN 1401-9841, Vol. 5, no 9Article in journal (Refereed) Published
Abstract [en]

The Modelica standard library and available Modelica tools contain some facilities for specification of 3D geometry and 3D graphics. Geometry and graphics is associated with physical objects included in simulated Modelica models. However, important graphics properties are missing from this model. In particular, physical objects cannot change their shape (geometry) and rendering features (graphics) dynamically. The physics of simulation, is often not affected by geometry of physical objects. For instance, a body is often approximated by its center of mass under certain conditions. Either simple predefined shapes or specifications of geometry via external files are used. The last facility leads to separation between the model and the corresponding graphics and geometry. Our proposal is to integrate 3D geometric and graphical features with Modelica models of physical objects. The 3D graphics information is specified explicitly via annotations containing certain graphics primitives or using instances from a specially designed geometry class library. The motivation, syntax and implementation outline for this approach are discussed in this report.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88551 (URN)
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2013-02-12
10. Integration of collision detection with the multibody system library in Modelica
Open this publication in new window or tab >>Integration of collision detection with the multibody system library in Modelica
2000 (English)In: Linköping Electronic Articles in Computer and Information Science, ISSN 1401-9841, Vol. 5, no 10Article in journal (Refereed) Published
Abstract [en]

Collision detection and response is one of the most difficult areas in simulation of multibody systems. Two known approaches, the impulse-based method and the force-based (penalty) method, can be applied for multibody simulation in Modelica. The impulse-based method requires instantaneous modification of some variables, but such modification is not always possible in Modelica. The force-based method leads to stiff ODE, which can be handled by solvers used with Modelica. We suggest a new way to express the penalty coefficients. The force-based method, however, requires computation of penetration depth which is time-consuming.

We also suggest a method that combines the distance between bodies and the penetration depth into a single quantity used for force computation.

Calling external functions is a preferable method integrate collision detection algorithms with practical physical models, since body geometry is stored externally. We describe an interface with collision detection tool SOLID.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88552 (URN)
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2013-02-12
11. Lossless compression of high-volume numerical data from simulations
Open this publication in new window or tab >>Lossless compression of high-volume numerical data from simulations
2000 (English)In: Proceedings. DCC 2000 Data Compression Conference, 2000, IEEE , 2000Conference paper, Published paper (Refereed)
Abstract [en]

Summary form only given. We propose a lossless algorithm of delta compression (a variant of predictive coding) that attempts to predict the next point from previous points using higher-order polynomial extrapolation. In contrast to traditional predictive coding our method takes into account varying (non-equidistant) domain (typically, time) steps. To save space and guarantee lossless compression, the actual and predicted values are converted to 64-bit integers. The residual (difference between actual and predicted values) is computed as difference of integers. The unnecessary bits of the residual are truncated, e.g., 1111110101 is replaced by 10101. The length of the bit sequence (510=(000101)2) is prepended

Place, publisher, year, edition, pages
IEEE, 2000
Keyword
Compression algorithms, Differential equations, Extrapolation, Numerical simulation, Polynomials, Predictive coding, Scientific computing, Testing, Wavelet transforms
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-88517 (URN)10.1109/DCC.2000.838221 (DOI)0-7695-0592-9 (ISBN)
Conference
2000 IEEE Data Compression Conference, 28-30 March 2000, Snowbird, Utah, USA
Available from: 2013-02-11 Created: 2013-02-11 Last updated: 2015-01-30

Open Access in DiVA

No full text

Authority records BETA

Engelson, Vadim

Search in DiVA

By author/editor
Engelson, Vadim
By organisation
Department of Computer and Information ScienceThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1007 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf