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

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 10: Line 10:
 
'''Learning Objectives'''
 
'''Learning Objectives'''
 
| | In this tutorial, we will learn about:
 
| | In this tutorial, we will learn about:
* <div style="margin-left:1.27cm;margin-right:0cm;">About '''OpenModelica'''</div>
+
* About '''OpenModelica
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Modeling '''&''' Simulation'''</div>
+
* '''Modeling '''&''' Simulation
* <div style="margin-left:1.27cm;margin-right:0cm;">Subsystems of '''OpenModelica''' Environment</div>
+
* Subsystems of '''OpenModelica''' Environment
* <div style="margin-left:1.27cm;margin-right:0cm;">Features''' '''of '''OpenModelica'''</div>
+
* Features''' '''of '''OpenModelica
* <div style="margin-left:1.27cm;margin-right:0cm;">Content available in various tutorials under this series. </div>
+
* Content available in various tutorials under this series
  
 
|-
 
|-
Line 21: Line 21:
 
|| To record this tutorial, I am using
 
|| To record this tutorial, I am using
  
* <div style="margin-left:1.27cm;margin-right:0cm;">'''OpenModelica version 1.12.0''' and </div>
+
* '''OpenModelica version 1.12.0''' and
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Ubuntu Linux OS 16.04'''</div>
+
* '''Ubuntu Linux OS 16.04'''
 
|-
 
|-
 
| | '''Slide Number 4'''
 
| | '''Slide Number 4'''
Line 30: Line 30:
  
 
'''OpenModelica''' is
 
'''OpenModelica''' is
* <div style="margin-left:1.27cm;margin-right:0cm;">An open-source modeling and simulation environment</div>
+
* An open-source modeling and simulation environment
* <div style="margin-left:1.27cm;margin-right:0cm;">Object-oriented, multi-domain modeling language for complex systems</div>
+
* Object-oriented, multi-domain modeling language for complex systems
* <div style="margin-left:1.27cm;margin-right:0cm;">Intended for both industrial and academic purposes</div>
+
* Intended for both industrial and academic purposes
  
 
|-
 
|-
Line 41: Line 41:
 
| | 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>
+
* '''Dymola'''
* <div style="margin-left:1.27cm;margin-right:0cm;">'''COMSOL Multiphysics'''</div>
+
* '''COMSOL Multiphysics'''
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Simulink'''</div>
+
* '''Simulink'''
  
 
|-
 
|-
Line 50: Line 50:
 
|| 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>
+
Translating the actual process behaviour into mathematical expressions is called '''Modeling'''
 
|-
 
|-
 
|| '''Slide Number 5'''
 
|| '''Slide Number 5'''
Line 58: Line 58:
 
'''Simulation''' uses a model to study the behaviour and performance of an actual or theoretical system.
 
'''Simulation''' uses a model to study the behaviour and performance of an actual or theoretical system.
  
* <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>
+
* It allows evaluation of a '''model to optimize the system performance
* <div style="margin-left:1.27cm;margin-right:0cm;">And <span style="color:#000000;">makes predictions about a real system.</span></div>
+
* And makes predictions about a real system.
 
|-
 
|-
 
| | '''Slide Number 7'''
 
| | '''Slide Number 7'''
Line 111: Line 111:
 
|-
 
|-
 
| | Cursor on the interface.
 
| | Cursor on the interface.
|  | <span style="color:#000000;">I have already opened the </span><span style="color:#000000;">'''OMEdit'''</span><span style="color:#000000;"> window here. </span>
+
|  | I have already opened the '''OMEdit''' window here.
 
|-
 
|-
 
| | Point to the menus.
 
| | Point to the menus.
| | <span style="color:#000000;">You can see a lot of menus and exciting capabilities in </span><span style="color:#000000;">'''OMEdit.'''</span>
+
| | You can see a lot of menus and exciting capabilities in '''OMEdit.
  
  
Line 151: Line 151:
  
 
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>
+
* Different tools and icons in the '''OMEdit '''window
* <div style="margin-left:1.27cm;margin-right:0cm;">How to open a '''class '''from the '''Libraries Browser'''</div>
+
* How to open a '''class '''from the '''Libraries Browser''
* <div style="margin-left:1.27cm;margin-right:0cm;">Use of '''Simulate''' & '''Re-simulate''' button</div>
+
* Use of '''Simulate''' & '''Re-simulate''' button
 
|-
 
|-
 
|  | Play ST for 10 secs
 
|  | Play ST for 10 secs
| | <span style="color:#000000;">Let me play this tutor</span>ial<span style="color:#000000;">.</span>
+
| | Let me play this tutorial
 
|-
 
|-
 
| | '''Examples through OMEdit''' slide
 
| | '''Examples through OMEdit''' slide
Line 170: Line 170:
  
 
This tutorial will explain how to-
 
This tutorial will explain how to-
* <div style="margin-left:1.27cm;margin-right:0cm;">Drag and drop different '''classes'''</div>
+
* Drag and drop different '''classes'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Connect them to build a '''system'''</div>
+
* Connect them to build a '''system'''
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 188: Line 188:
  
 
This tutorial demonstrates how to  
 
This tutorial demonstrates how to  
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''if-else statement'''</div>
+
* Use '''if-else statement'''
* <div style="margin-left:1.27cm;margin-right:0cm;">'''when statement '''</div>
+
* '''when statement '''
* <div style="margin-left:1.27cm;margin-right:0cm;">Handle '''time '''& '''state events.'''</div>
+
* Handle '''time '''& '''state events.'''
  
 
|-
 
|-
Line 200: Line 200:
  
 
This tutorial demonstrates how to  
 
This tutorial demonstrates how to  
* <div style="margin-left:1.27cm;margin-right:0cm;">Define a '''function '''and</div>
+
* Define a '''function '''and
* <div style="margin-left:1.27cm;margin-right:0cm;">Type and use an '''algorithm'''</div>
+
* Type and use an '''algorithm'''
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 211: Line 211:
 
This tutorial will explain how to-
 
This tutorial will explain how to-
  
* <div style="margin-left:1.27cm;margin-right:0cm;">Declare '''array variables''' </div>
+
* Declare '''array variables'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Construct '''arrays''', </div>
+
* Construct '''arrays'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''for '''and '''while loops '''and use '''OMShell'''.</div>
+
* Use '''for '''and '''while loops '''and use '''OMShell'''
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 222: Line 222:
  
 
This tutorial will explain how to-  
 
This tutorial will explain how to-  
* <div style="margin-left:1.27cm;margin-right:0cm;">Use '''array construction functions'''</div>
+
* Use '''array construction functions'''
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Array conversion functions'''</div>
+
* '''Array conversion functions'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Perform '''arithmetic operations '''on '''vectors '''and '''matrices'''.</div>
+
* Perform '''arithmetic operations '''on '''vectors '''and '''matrices'''.
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 233: Line 233:
  
 
This tutorial demonstrates how to
 
This tutorial demonstrates how to
* <div style="margin-left:1.27cm;margin-right:0cm;">Create a '''package'''</div>
+
* Create a '''package'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Import a '''package'''</div>
+
* Import a '''package'''
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 243: Line 243:
  
 
This tutorial demonstrates how to  
 
This tutorial demonstrates how to  
* <div style="margin-left:1.27cm;margin-right:0cm;">Specify an '''annotation'''</div>
+
* Specify an '''annotation'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Define a '''record'''</div>
+
* Define a '''record'''
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 253: Line 253:
  
 
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>
+
* Specify '''icon '''and '''diagram views'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Insert shapes in '''icon '''and '''diagram view'''</div>
+
* Insert shapes in '''icon '''and '''diagram view'''
  
 
|-
 
|-
Line 264: Line 264:
  
 
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>
+
* '''Instantiate '''a '''model'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Define '''connector classes'''</div>
+
* Define '''connector classes
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 274: Line 274:
  
 
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>
+
* Use '''MISO block'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Instantiate '''functions'''</div>
+
* Instantiate '''functions
 
|-
 
|-
 
| | Play ST for 10 secs
 
| | Play ST for 10 secs
Line 289: Line 289:
 
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>
+
* About '''OpenModelica'''
* <div style="margin-left:1.27cm;margin-right:0cm;">'''Modeling and Simulation'''</div>
+
* '''Modeling and Simulation'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Subsystems of '''OpenModelica environment'''</div>
+
* Subsystems of '''OpenModelica environment'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Features of '''OpenModelica'''</div>
+
* Features of '''OpenModelica'''
* <div style="margin-left:1.27cm;margin-right:0cm;">Content available in various tutorials under this series</div>
+
* Content available in various tutorials under this series
 
|-
 
|-
 
| | '''Slide Number 12'''
 
| | '''Slide Number 12'''
Line 306: Line 306:
 
'''Spoken Tutorial Workshops'''
 
'''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>
+
* Conducts workshops using spoken tutorials
* <div style="margin-left:1.27cm;margin-right:0cm;">Gives certificates to those who pass an online test</div>
+
* Gives certificates to those who pass an online test
* <div style="margin-left:1.27cm;margin-right:0cm;">For more details, please write to '''contact@spoken-tutorial.org'''</div>
+
* For more details, please write to '''contact@spoken-tutorial.org'''
 
|-
 
|-
 
| | '''Slide Number 15'''
 
| | '''Slide Number 15'''
Line 315: Line 315:
 
| | Do you have questions in this '''Spoken Tutorial?'''  
 
| | Do you have questions in this '''Spoken Tutorial?'''  
  
<div style="color:#000000;">Please visit this site.</div>
+
Please visit this site.
  
  

Revision as of 11:59, 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 16

Forum 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