Difference between revisions of "OpenModelica/C2/Overview-of-OpenModelica/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
(Created page with "{| border=1 ||'''Visual Cue''' ||'''Narration''' |- ||'''Slide Number 1''' | | Welcome to the Spoken Tutorial on '''Overview of OpenModelica'''. |- || '''Slide Number 2''' '...")
 
Line 28: Line 28:
 
'''What is OpenModelica'''
 
'''What is OpenModelica'''
 
|| What is OpenModelica?
 
|| What is OpenModelica?
 
  
 
'''OpenModelica''' is
 
'''OpenModelica''' is
Line 40: Line 39:
  
 
'''Commercial modeling and simulation tool'''
 
'''Commercial modeling and simulation tool'''
| | There are many commercial '''modeling''' and '''simulation''' tools like  
+
| | There are many commercial '''modeling''' and '''simulation''' tools like:
  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Dymola'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Dymola'''</div>
Line 50: Line 49:
 
'''What is Modeling?'''
 
'''What is Modeling?'''
 
|| What is '''Modeling'''?
 
|| What is '''Modeling'''?
 
  
 
<span style="color:#000000;">Translating the actual process behaviour into mathematical expressions is called </span><span style="color:#000000;">'''Modeling'''</span><span style="color:#000000;">.</span>
 
<span style="color:#000000;">Translating the actual process behaviour into mathematical expressions is called </span><span style="color:#000000;">'''Modeling'''</span><span style="color:#000000;">.</span>
Line 58: Line 56:
 
|| What is '''Simulation'''?
 
|| What is '''Simulation'''?
  
 
+
'''Simulation''' uses a model to study the behaviour and performance of an actual or theoretical system.
Simulation uses <span style="color:#000000;">a </span><span style="color:#000000;">'''model'''</span><span style="color:#000000;"> to study the behaviour and performance of an actual or theoretical system.</span>
+
 
+
  
 
* <div style="margin-left:1.27cm;margin-right:0cm;"><span style="color:#000000;">It allows evaluati</span>on of<span style="color:#000000;"> a </span><span style="color:#000000;">'''model '''</span><span style="color:#000000;">to optimize the system performance </span></div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;"><span style="color:#000000;">It allows evaluati</span>on of<span style="color:#000000;"> a </span><span style="color:#000000;">'''model '''</span><span style="color:#000000;">to optimize the system performance </span></div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">And <span style="color:#000000;">makes predictions about a real system.</span></div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">And <span style="color:#000000;">makes predictions about a real system.</span></div>
 
 
 
|-
 
|-
 
| | '''Slide Number 7'''
 
| | '''Slide Number 7'''
Line 80: Line 74:
 
|-
 
|-
 
| | '''Slide Number 8'''
 
| | '''Slide Number 8'''
 
  
 
'''OMNotebook DrModelica model editor'''
 
'''OMNotebook DrModelica model editor'''
Line 87: Line 80:
 
'''OpenModelica Connection Editor (OMEdit)'''
 
'''OpenModelica Connection Editor (OMEdit)'''
 
| |  
 
| |  
 
  
 
'''OMNotebook: '''
 
'''OMNotebook: '''
Line 161: Line 153:
 
| | We will begin with the first tutorial '''Introduction to OMEdit.'''
 
| | We will begin with the first tutorial '''Introduction to OMEdit.'''
  
 
+
Here we will learn about:
Here we will learn about:* <div style="margin-left:1.27cm;margin-right:0cm;">Different tools and icons in the '''OMEdit '''window</div>
+
* <div style="margin-left:1.27cm;margin-right:0cm;">Different tools and icons in the '''OMEdit '''window</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">How to open a '''class '''from the '''Libraries Browser'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">How to open a '''class '''from the '''Libraries Browser'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use of '''Simulate''' & '''Re-simulate''' button</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use of '''Simulate''' & '''Re-simulate''' button</div>
 
 
 
|-
 
|-
 
|  | Play ST for 10 secs
 
|  | Play ST for 10 secs
Line 184: Line 174:
  
  
This tutorial will explain how to-* <div style="margin-left:1.27cm;margin-right:0cm;">Drag and drop different '''classes'''</div>
+
This tutorial will explain how to-
 +
* <div style="margin-left:1.27cm;margin-right:0cm;">Drag and drop different '''classes'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Connect them to build a '''system'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Connect them to build a '''system'''</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 203: Line 192:
 
| | '''Control flow and Event handling''' slide
 
| | '''Control flow and Event handling''' slide
 
| | The next tutorial is '''Control flow and Event handling.'''
 
| | The next tutorial is '''Control flow and Event handling.'''
 
  
 
This tutorial demonstrates how to  
 
This tutorial demonstrates how to  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''if-else statement'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''if-else statement'''</div>
* <div style="margin-left:1.27cm;margin-right:0cm;">'''When statement '''</div>
+
* <div style="margin-left:1.27cm;margin-right:0cm;">'''when statement '''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Handle '''time '''& '''state events.'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Handle '''time '''& '''state events.'''</div>
 
  
 
|-
 
|-
Line 217: Line 204:
 
| | '''Functions and Types''' slide
 
| | '''Functions and Types''' slide
 
| | Next comes '''Functions and Types.'''
 
| | Next comes '''Functions and Types.'''
 
  
 
This tutorial demonstrates how to  
 
This tutorial demonstrates how to  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Define a '''function '''and</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Define a '''function '''and</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Type and use an '''algorithm'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Type and use an '''algorithm'''</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 230: Line 214:
 
|| '''Arrays in Modelica''' slide
 
|| '''Arrays in Modelica''' slide
 
| | After this comes '''Arrays in Modelica.'''
 
| | After this comes '''Arrays in Modelica.'''
 
  
 
This tutorial will explain how to-
 
This tutorial will explain how to-
  
Declare '''array variables'''
+
* <div style="margin-left:1.27cm;margin-right:0cm;">Declare '''array variables''' </div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Construct '''arrays''', </div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Construct '''arrays''', </div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''for '''and '''while loops '''and use '''OMShell'''.</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''for '''and '''while loops '''and use '''OMShell'''.</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 245: Line 226:
 
| | '''Array Functions and Operations''' slide
 
| | '''Array Functions and Operations''' slide
 
| | The next tutorial is '''Array Functions and Operations. '''
 
| | The next tutorial is '''Array Functions and Operations. '''
 
  
 
This tutorial will explain how to-  
 
This tutorial will explain how to-  
Line 251: Line 231:
 
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Array conversion functions'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Array conversion functions'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Perform '''arithmetic operations '''on '''vectors '''and '''matrices'''.</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Perform '''arithmetic operations '''on '''vectors '''and '''matrices'''.</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 260: Line 238:
 
| | The next tutorial is '''Modelica Packages.'''
 
| | The next tutorial is '''Modelica Packages.'''
  
 
+
This tutorial demonstrates how to
This tutorial demonstrates how to* <div style="margin-left:1.27cm;margin-right:0cm;">Create a '''package'''</div>
+
* <div style="margin-left:1.27cm;margin-right:0cm;">Create a '''package'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Import a '''package'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Import a '''package'''</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 271: Line 247:
 
| | '''Annotations in Modelica''' slide
 
| | '''Annotations in Modelica''' slide
 
| | The next tutorial is '''Annotations in Modelica.'''
 
| | The next tutorial is '''Annotations in Modelica.'''
 
  
 
This tutorial demonstrates how to  
 
This tutorial demonstrates how to  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Specify an '''annotation'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Specify an '''annotation'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Define a '''record'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Define a '''record'''</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 284: Line 257:
 
| | '''Icon and Diagram Views''' slide
 
| | '''Icon and Diagram Views''' slide
 
| | After this comes '''Icon and Diagram Views.'''
 
| | After this comes '''Icon and Diagram Views.'''
 
  
 
This tutorial will explain how to-  
 
This tutorial will explain how to-  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Specify '''icon '''and '''diagram views'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Specify '''icon '''and '''diagram views'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Insert shapes in '''icon '''and '''diagram view'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Insert shapes in '''icon '''and '''diagram view'''</div>
 
  
 
|-
 
|-
Line 297: Line 268:
 
| | '''Component oriented modeling''' slide
 
| | '''Component oriented modeling''' slide
 
| | The next tutorial is '''Component oriented modeling. '''
 
| | The next tutorial is '''Component oriented modeling. '''
 
  
 
This tutorial will explain how to-  
 
This tutorial will explain how to-  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Instantiate '''a '''model'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Instantiate '''a '''model'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Define '''connector classes'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Define '''connector classes'''</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 310: Line 278:
 
| | '''Block component modeling''' slide
 
| | '''Block component modeling''' slide
 
| | Lastly we have '''Block component modeling.'''
 
| | Lastly we have '''Block component modeling.'''
 
  
 
This tutorial will explain how to-  
 
This tutorial will explain how to-  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''MISO block'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''MISO block'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Instantiate '''functions'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Instantiate '''functions'''</div>
 
 
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 324: Line 289:
 
| | In the future, we could add more tutorials in the Intermediate and Advanced levels of this series.
 
| | In the future, we could add more tutorials in the Intermediate and Advanced levels of this series.
 
|-
 
|-
| | '''Slide Number 10Summary'''
+
| | '''Slide Number 10'''
 +
'''Summary'''
 
| | Let us summarize now.
 
| | Let us summarize now.
 
  
 
In this tutorial, we have learnt about,
 
In this tutorial, we have learnt about,
 
  
 
* <div style="margin-left:1.27cm;margin-right:0cm;">About '''OpenModelica'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">About '''OpenModelica'''</div>
Line 336: Line 300:
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Features of '''OpenModelica'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Features of '''OpenModelica'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Content available in various tutorials under this series</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Content available in various tutorials under this series</div>
 
 
 
|-
 
|-
| | '''Slide Number 12About the Spoken Tutorial Project'''
+
| | '''Slide Number 12'''
 +
'''About the Spoken Tutorial Project'''
 
| | Watch the video available at following link.
 
| | Watch the video available at following link.
  
Line 346: Line 309:
 
It summarizes the Spoken Tutorial project.
 
It summarizes the Spoken Tutorial project.
 
|-
 
|-
| | '''Slide Number 14Spoken Tutorial Workshops'''
+
| | '''Slide Number 14'''
 +
'''Spoken Tutorial Workshops'''
 
| | The Spoken Tutorial Project Team
 
| | The Spoken Tutorial Project Team
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Conducts workshops using spoken tutorials</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Conducts workshops using spoken tutorials</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Gives certificates to those who pass an online test</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">Gives certificates to those who pass an online test</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">For more details, please write to '''contact@spoken-tutorial.org'''</div>
 
* <div style="margin-left:1.27cm;margin-right:0cm;">For more details, please write to '''contact@spoken-tutorial.org'''</div>
 
 
 
|-
 
|-
 
| | '''Slide Number 15'''
 
| | '''Slide Number 15'''

Revision as of 11:46, 2 July 2018

Visual Cue Narration
Slide Number 1 Welcome to the Spoken Tutorial on Overview of OpenModelica.
Slide Number 2

Learning Objectives

In this tutorial, we will learn about:
  • About OpenModelica
  • Modeling & Simulation
  • Subsystems of OpenModelica Environment
  • Features of OpenModelica
  • Content available in various tutorials under this series.
Slide Number 3

System Requirements

To record this tutorial, I am using
  • OpenModelica version 1.12.0 and
  • Ubuntu Linux OS 16.04
Slide Number 4

What is OpenModelica

What is OpenModelica?

OpenModelica is

  • An open-source modeling and simulation environment
  • Object-oriented, multi-domain modeling language for complex systems
  • Intended for both industrial and academic purposes
Slide Number 6


Commercial modeling and simulation tool

There are many commercial modeling and simulation tools like:
  • Dymola
  • COMSOL Multiphysics
  • Simulink
Slide Number 4

What is Modeling?

What is Modeling?

Translating the actual process behaviour into mathematical expressions is called Modeling.

Slide Number 5

What is Simulation?

What is Simulation?

Simulation uses a model to study the behaviour and performance of an actual or theoretical system.

  • It allows evaluation of a model to optimize the system performance
  • And makes predictions about a real system.
Slide Number 7


Subsystems of OpenModelica Environment


OpenModelica has a number of subsystems integrated in its environment.


Few of the important subsystems are:

Slide Number 8

OMNotebook DrModelica model editor


OpenModelica Connection Editor (OMEdit)

OMNotebook:

It provides a lightweight notebook editor, compared to the more advanced Mathematica extension.


OMEdit:

This is a graphical connection editor, for component based model design.

Slide Number 9


OpenModelica Optimization Editor (OMOptim)


OpenModelica Shell (OMShell)

OMOptim:

It extends the capabilities of OpenModelica towards design optimization.


OMShell:

It is an interactive command line session handler for Modelica scripting.


Cursor on the interface. I have already opened the OMEdit window here.
Point to the menus. You can see a lot of menus and exciting capabilities in OMEdit.


All of these will be explained in detail later in this series.

Now I will go the slides.
Let me point out some advantages of OpenModelica.
Slide Number 8


Features of OpenModelica

It is completely free of cost and free to use and distribute.


It has excellent solvers.


It is an equation oriented environment.


It has brilliant capability to solve Ordinary Differential Equations.

Users can create their own models using OpenModelica.
ST Slide Now, we will briefly go through the individual tutorials in this series.


I have opened all these tutorials on separate tabs in my browser window.


Let’s go through them one by one.

Introduction to OMEdit slide We will begin with the first tutorial Introduction to OMEdit.

Here we will learn about:

  • Different tools and icons in the OMEdit window
  • How to open a class from the Libraries Browser
  • Use of Simulate & Re-simulate button
Play ST for 10 secs Let me play this tutorial.
Examples through OMEdit slide The next tutorial is Examples through OMEdit.


This tutorial demonstrates how to simulate existing Modelica library examples.

Play ST for 10 secs Let us listen to it.
OpenModelica Connectors slide The next tutorial is OpenModelica Connectors.


This tutorial will explain how to-

  • Drag and drop different classes
  • Connect them to build a system
Play ST for 10 secs Here is a glimpse of this tutorial.
Developing an equation based model slide The next tutorial is Developing an equation based model


This tutorial demonstrate on how to create a textual model in OMEdit and simulate it.

Play ST for 10 secs Let me play this tutorial.
Control flow and Event handling slide The next tutorial is Control flow and Event handling.

This tutorial demonstrates how to

  • Use if-else statement
  • when statement
  • Handle time & state events.
Play ST for 10 secs Let us listen to it.
Functions and Types slide Next comes Functions and Types.

This tutorial demonstrates how to

  • Define a function and
  • Type and use an algorithm
Play ST for 10 secs Here is a glimpse of this tutorial.
Arrays in Modelica slide After this comes Arrays in Modelica.

This tutorial will explain how to-

  • Declare array variables
  • Construct arrays,
  • Use for and while loops and use OMShell.
Play ST for 10 secs Let us play this tutorial.
Array Functions and Operations slide The next tutorial is Array Functions and Operations.

This tutorial will explain how to-

  • Use array construction functions
  • Array conversion functions
  • Perform arithmetic operations on vectors and matrices.
Play ST for 10 secs Let us listen to it.
Modelica Packages slide The next tutorial is Modelica Packages.

This tutorial demonstrates how to

  • Create a package
  • Import a package
Play ST for 10 secs Here is a glimpse of this tutorial.
Annotations in Modelica slide The next tutorial is Annotations in Modelica.

This tutorial demonstrates how to

  • Specify an annotation
  • Define a record
Play ST for 10 secs Let me play this for you.
Icon and Diagram Views slide After this comes Icon and Diagram Views.

This tutorial will explain how to-

  • Specify icon and diagram views
  • Insert shapes in icon and diagram view
Play ST for 10 secs Let us listen to it.
Component oriented modeling slide The next tutorial is Component oriented modeling.

This tutorial will explain how to-

  • Instantiate a model
  • Define connector classes
Play ST for 10 secs Here is a glimpse of this tutorial.
Block component modeling slide Lastly we have Block component modeling.

This tutorial will explain how to-

  • Use MISO block
  • Instantiate functions
Play ST for 10 secs Let us listen to it.
In the future, we could add more tutorials in the Intermediate and Advanced levels of this series.
Slide Number 10

Summary

Let us summarize now.

In this tutorial, we have learnt about,

  • About OpenModelica
  • Modeling and Simulation
  • Subsystems of OpenModelica environment
  • Features of OpenModelica
  • Content available in various tutorials under this series
Slide Number 12

About the Spoken Tutorial Project

Watch the video available at following link.

http://spoken-tutorial.org/

It summarizes the Spoken Tutorial project.

Slide Number 14

Spoken Tutorial Workshops

The Spoken Tutorial Project Team
  • Conducts workshops using spoken tutorials
  • Gives certificates to those who pass an online test
  • For more details, please write to contact@spoken-tutorial.org
Slide Number 15

Forum slide

Do you have questions in this Spoken Tutorial?
Please visit this site.


Choose the minute and second where you have the question.

Explain your question briefly.


Someone from the FOSSEE team will answer them.

Slide Number 16Forum for specific questions:


The Spoken Tutorial forum is for specific questions on this tutorial.

Please do not post unrelated and general questions on them.

This will help reduce the clutter.

With less clutter, we can use this discussions as instructional material.

Slide Number 17

Textbook Companion Project

The FOSSEE team coordinates coding of solved examples of popular books.

We give honorarium and certificates for those who do this.

For more details, please visit this site.

Slide Number 18

Lab Migration Project

The FOSSEE team helps migrate commercial simulator labs to OpenModelica.

We give honorarium and certificates for those who do this.

For more details, please visit this site.

Slide Number 19

Acknowledgements

Spoken Tutorial and FOSSEE projects are funded by NMEICT, MHRD, Government of India.
Slide Number 20

Thanks

This tutorial is contributed by Kaushik Datta and Priyam Nayak.


Thanks for joining.

Contributors and Content Editors

Kaushik Datta