This is a listing of builtin Modelica functions, miscellaneous Modelica libraries stored in a git repository. There is also documentation for OpenModelica-specific scripting.

Note that not all libraries are supported or have been tested. Feel free to add bug reports either to OpenModelica (for compiler bugs) or to the GitHub projects for enhancements or bugs in the libraries. Older libraries may contain broken links and images (only libraries with modelica:// links produce good documentation). The Modelica Standard Library is the best supported package in OpenModelica.

Name | Description | Version |
---|---|---|

ADGenKinetics | Implementation of generalized kinetics for modeling biochemical reaction networks | |

ADMSL | ||

AdvancedNoise | A library with additional noise modules compatible to the Modelica standard library | 1.0.1 |

AixLib | 0.7.3 | |

AlgebraTestSuite | Nonlinear algebraic equation system benchmarks | |

Annex60 | Library with models for building energy and control systems | 1.0.0 |

ApproxSpline | Approximation spline library | 1.0.0 |

Arduino | Library to simulate sketches on a virtual Arduino Uno and to connect models to real-world circuits using the Firmata protocol | 0.1.0 |

BioChem | 1.0.1 | |

BondGraph | ||

BondLib | Modelica library for Bond Graph modeling | 2.3 |

BrineProp | Media models for p-h-T-rho-eta properties of aqueous solutions of multiple salts and gases | 0.5.5 |

BuildSysPro | EDF's Modelica library for modelling buildings and energy systems | 2015.12 |

BuildingControlLib | Library for building control | 0.1.0 |

BuildingSystems | Library for building energy and plant simulation | 0.1 |

Buildings | Library with models for building energy and control systems | 6.0.0 |

Chemical | Physical Chemistry (version 1.2.0) | 1.2.0 |

Complex | Complex number with overloaded operators | 3.2.3 |

ComplexLib | Library for steady-state analysis of AC circuits within phasor domain, version 1.0 | |

ConPNlib | ||

DESLib | 1 | |

DeployStructLib | ||

DisHeatLib | 1.2 | |

DriveControl | Library to demonstrate control of electrical drives | 3.1.0 |

EMOTH | Electric Mobility OTH | 1.4.0 |

ElectricalEnergyStorage | Library for electric energy storages | 3.2.2 |

ElectroMechanicalDrives | Library for the simulation of electro mechanical drives and vehicles | 2.2.0 |

ExtendedPetriNets | Library to model timed, stochastic Petri nets and state transition diagrams, extended version. | |

ExternData | Library for data I/O of CSV, INI, JSON, MATLAB MAT, SSV, TIR, Excel XLS/XLSX or XML files | 2.5.0 |

ExternalMemoryLib | ||

FCSys | Modelica fuel cell library | 0.2.6 |

FCSysTest | Library to test components of FCSys | |

FMITest | Library of models to test connected FMUs in a Modelica tool | |

FailureModes | A collection of examples of failure modes for Modelica models | 1.2.1 |

FastBuildings | Low order building simulation models | 0.0 |

FaultTriggering | Library for Fault Triggering | 0.6.6 |

FeedDriveLibrary | ||

Flight | ||

FractionalOrder | ||

FuzzyControl | ||

GNU_ScientificLibrary | ||

Greenhouses | The Greenhouses Modelica Library | |

HanserModelica | Educational open source library on <html><a href="https://www.hanser-fachbuch.de/buch/Modelica+Objektorientierte+Modellbildung+von+Drehfeldmaschinen/9783446455511">Modelica, electrical engineering and polyphase electrical machines</a></html> | 1.1.0 |

HelmholtzMedia | Data and models of real pure fluids (liquid, two-phase and gas) | |

IBPSA | Library with models for building energy and control systems | 3.0.0 |

IdealizedContact | Idealized Contact Library | 0.2.0 |

IndustrialControlSystems | Modelica Industrial Control Systems Library | 1.1.0 |

InstantaneousSymmetricalComponents | Sensors | |

KeyWordIO | Read and write data files with key words | 0.9.0 |

LibRAS | ||

LinearMPC | Modelica predictive control library (by the Institute of Automatic Control, RWTH Aachen University) | 1 |

MVEMLib | 1.0.1 | |

ManualTracking | Modelica manual tracking library | |

MessagePack | MessagePack is an efficient binary serialization format for multiple languages. | 0.1.1 |

ModPowerSystems | ||

Modelica | Modelica Standard Library - Version 3.2.3 | 3.2.3 |

ModelicaADS | Library for socket communication in Modelica using the ADS protocol (infosys.beckhoff.com) | |

ModelicaAdditions | Collection of Modelica libraries of DLR | 1.5 |

ModelicaByExample | 0.5. | |

ModelicaCompliance | A semantics compliance suite for the Modelica language | 3.2 |

ModelicaDEVS | Discrete Event Systems Library | 1 |

ModelicaReference | Modelica Reference | 3.2.3 |

ModelicaServices | ModelicaServices (Default implementation) - Models and functions used in the Modelica Standard Library requiring a tool specific implementation | 3.2.3 |

ModelicaTest | Library to test components of package Modelica - Version 3.2.3 | 3.2.3 |

ModelicaTestOverdetermined | 3.2.2 | |

Modelica_DeviceDrivers | Modelica_DeviceDrivers - A collection of drivers interfacing hardware like input devices, communication devices, shared memory, analog-digital converters and else | 1.8.0 |

Modelica_EnergyStorages | Library for electric energy storages | 3.2.1 |

Modelica_LinearSystems2 | Modelica_LinearSystems2 (version 2.3.5) - Analysis, Synthesis and Modeling of Continuous and Discrete Linear Systems | 2.3.5 |

Modelica_Noise | Modelica_Noise version 1.0-Beta.1 (Library for random numbers and noise signals; now included in the Modelica Standard Library 3.2.2) | 1.0 Beta.1 |

Modelica_Requirements | Modelica_Requirements (Version 0.6) - Defining requirements formally and checking them when simulating | 0.6 |

Modelica_StateGraph2 | Modelica_StateGraph2 (Version 2.0.3) - Modeling of continuous-time state machines | 2.0.3 |

Modelica_Synchronous | Modelica_Synchronous (version 0.93.0) - Basic synchronous input/output control blocks that are triggered by clocks | 0.93.0 |

MotorcycleDynamics | ||

NcDataReader2 | Library to read interpolated data from netCDF files and DAP servers | 2.5.0 |

NeuralNetwork | ||

Nuclear | nuclear reactor simulations | |

ObjectStab | ObjectStab - A Modelica Library for Power System Stability Studies | 1.1 Dev |

ObsoleteModelica3 | Library that contains components from Modelica Standard Library 2.2.2 that have been removed from version 3.0 | |

OpenBLDC | Simulation base package | |

OpenFDM | ||

OpenHPL | 1.1.1 | |

OpenHydraulics | A free Modelica library that can be used to model hydraulic components and circuits. | 1.0 |

OpenIPSL | Open-Instance Power System Library | 1.5.0 |

Optimisers | Model-based optimisation library | 0.1 |

PNlib | 2.2 | |

PVSystems | A Modelica library for photovoltaic system and power converter design | 0.6.3 |

PhotoVoltaics | 1.5.0 | |

PhotoVoltaics_TGM | 1.5.0 | |

Physiolibrary | Modelica library for Physiology (version 2.3.2) | 2.3.2 |

Physiomodel | Mammalian physiology model | 1.0.1 |

PlanarMechanics | Library to model 2-dimensional, planar mechanical systems | 1.4.1 |

PlanarMechanicsTest | "Library to test components of package Modelica - Version 1.4.1" | |

PowerFlow | Library for electrical power flow calculations | 0.3 |

PowerSystems | Library for electrical power systems | 1.0.0 |

PraxisSimulationstechnik | Library of example and solution models from Peter Junglas' book "Praxis der Simulationstechnik" | |

QCalc | Modelica units based on quantity calculus | |

QCalcTests | Tests for QCalc | |

QSSFluidFlow | Library for modeling of quasi-steady-state fluid flow with constant fluid density. | |

RealTimeCoordinationLibrary | Components for defining clocks, time constraints, and invariants. | 1.0.4 |

SMPS | Building blocks for modeling of switched - mode power converters. | |

ScalableTestSuite | A library of scalable Modelica test models | 1.11.4 |

Servomechanisms | Servomechanism | |

SiemensPower | SiemensPower | 2.2 |

SolarTherm | 0.2 | |

Soltermica | Solar thermal systems Modelica library | |

Spot | Power-systems SPOT | 0.706.1 |

SpotExamples | Spot examples | 0.706.1 |

StreamConnectors | A simple library to learn the basics of stream connectors | |

SystemDynamics | System Dynamics Library (Version 2.1.1) | 2.1.1 |

TestDerivative | Test of functions with user defined derivatives | |

ThermalSeparation | Thermal Separation Library | 0.2 |

ThermoPower | Open library for thermal power plant simulation | 3.1 |

ThermoSysPro | 3.2 | |

ThermoSysProLogo | ||

VVDRlib | ||

VehicleInterfaces | VehicleInterfaces Library (Version 1.2.4) - Interface definitions and architectures for vehicle system modeling | 1.2.4 |

WasteWater | Modelica WasteWater Library | 2.1.0 |

Wavelet | Modelica Wavelet Library | |

WindPowerPlants | Library of wind power plants | 1.3.0 |

XogenyTest | Stand-alone library to facilitate assertion-based testing of Modelica code | 1.1 |

examples | ||

iPSL | iTesla Power System Library | 1.1.0 |

test | ||

wbEHPTlib | Electric and Hybrid Power train library Rev March 2019 | |

wbEHVpkg | Package containing basic EV models |

Name | Description | Version |
---|---|---|

AssertionLevel | ||

Connections | ||

Correlation | defines correlation between two uncertainty variables | |

Distribution | ||

MetaModelica | MetaModelica Language Extensions | |

OpenModelica | OpenModelica internal defintions and scripting functions | OpenModelica 1.16.0~dev-120-g0c802bd |

StateSelect | ||

Subtask | ||

abs | Absolute value | |

acos | Inverse cosine (-1 <= u <= 1) | |

activeState | Return true if instance of a state machine is active, otherwise false | |

actualStream | ||

array | Constructs an array | |

asin | Inverse sine (-1 <= u <= 1) | |

assert | Check an assertion condition | |

atan | Inverse tangent | |

atan2 | Four quadrant inverse tangent | |

backSample | First activation of clock is shifted in time before activation of u | |

cardinality | Number of connectors in connection | Deprecated |

cat | Concatenate arrays along given dimension | |

ceil | Round a real number towards plus infinity | |

change | Indicate discrete variable changing | |

classDirectory | Non-standard operator | Dymola / MSL 2.2.1 |

constrain | Dymola / MSL 1.6 | |

cos | Cosine | |

cosh | Hyperbolic cosine | |

cross | Cross product of two 3-vectors | |

delay | Delay expression | |

der | Derivative of the input expression | |

diagonal | Returns a diagonal matrix | |

div | Integer part of a division of two Real numbers | |

edge | Indicate rising edge | |

exp | Exponential, base e | |

fill | Returns an array with all elements equal | |

floor | Round a real number towards minus infinity | |

getInstanceName | Modelica 3.3 | |

hold | Conversion from clocked discrete-time to continuous time | Modelica 3.3 |

homotopy | Modelica 3.2 | |

identity | Identity matrix of given size | |

inStream | ||

initial | True if in initialization phase | |

initialState | Define inital state of a state machine | |

integer | Returns the largest integer not greater than x. The argument shall have type Real. The result has type Integer. [Note, outside of a when-clause state events are triggered when the return value changes discontinuously.]. | |

interval | Returns the interval between the previous and present tick of the clock of its argument | |

linspace | Real vector with equally spaced elements | |

log | Natural (base e) logarithm (u shall be > 0) | |

log10 | Base 10 logarithm (u shall be > 0) | |

matrix | Returns the first two dimensions of an array as matrix | |

max | Returns the largest element | |

min | Returns the smallest element | |

mod | Integer modulus of a division of two Real numbers | |

ndims | Number of array dimensions | |

noClock | Clock of y=Clock(u) is always inferred | Modelica 3.3 |

noEvent | Turn off event triggering | |

ones | Returns a one array | |

outerProduct | Outer product of two vectors | |

pre | Refer to left limit | |

previous | Access previous value of a clocked variable | Modelica 3.3 |

Prints to stdout, useful for debugging. | OpenModelica extension | |

product | Product of all array elements | |

reinit | Reinitialize state variable | |

rem | Integer remainder of the division of two Real numbers | |

sample | Overloaded operator to either trigger time events or to convert between continuous-time and clocked-time representation | |

scalar | Returns a one-element array as scalar | |

semiLinear | ||

shiftSample | First activation of clock is shifted in time | |

sign | Sign of real or integer number | |

sin | Sine | |

sinh | Hyperbolic sine | |

size | Returns dimensions of an array | |

skew | The skew matrix associated with the vector | |

smooth | Indicate smoothness of expression | |

spatialDistribution | Not yet implemented | Modelica 3.3 |

sqrt | Square root | |

subSample | Conversion from faster clock to slower clock | Modelica 3.3 |

sum | Sum of all array elements | |

superSample | Conversion from slower clock to faster clock | Modelica 3.3 |

symmetric | Returns a symmetric matrix | |

tan | Tangent (u shall not be -pi/2, pi/2, 3*pi/2, ...) | |

tanh | Hyperbolic tangent | |

terminal | True after successful analysis | |

ticksInState | Returns the number of clock ticks since a transition was made to the currently active state | |

timeInState | Returns the time duration as Real in [s] since a transition was made to the currently active state | |

transition | Define state machine transition | |

transpose | Transpose a matrix | |

vector | Returns an array as vector | |

zeros | Returns a zero array |

Generated at 2020-01-22T02:40:04Z by OpenModelicaOpenModelica 1.16.0~dev-120-g0c802bd using GenerateDoc.mos. Offline version (tar.xz) (zip).