Modelica Documentation

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.


 ADGenKineticsImplementation of generalized kinetics for modeling biochemical reaction networks
 AdvancedNoiseA library with additional noise modules compatible to the Modelica standard library1.1.0
 AlgebraTestSuiteNonlinear algebraic equation system benchmarks
 Annex60Library with models for building energy and control systems1.0.0
 ApproxSplineApproximation spline library1.0.1
 ArduinoLibrary to simulate sketches on a virtual Arduino Uno and to connect models to real-world circuits using the Firmata protocol0.3.0
 BLDCBrushless DC drives1.9.0
 BidiDCDCBidirectional DC/DC converter1.0.0
 BondLibModelica library for Bond Graph modeling2.3
 BrinePropMedia models for p-h-T-rho-eta properties of aqueous solutions of multiple salts and gases0.5.6
 BuildSysProEDF's Modelica library for modelling buildings and energy systems3.5.0
 BuildingControlLibLibrary for building control0.1.0
 BuildingSystemsLibrary for building energy and plant simulation2.0.0-beta
 BuildingsLibrary with models for building energy and control systems11.0.0
 BusinessSimulationDynamic modeling for business, economics, and ecology2.2.0
 ChemicalPhysical Chemistry1.4.1
 ClaRaSimulation of Clausius-Rankine Cycles1.8.1
 ClaRa_ObsoleteClaRa obsolete models package1.8.1
 ComplexComplex number with overloaded operators4.0.0
 ComplexLibLibrary for steady-state analysis of AC circuits within phasor domain, version 1.0
Correlationdefines correlation between two uncertainty variables
 CredibilityCredibility Library - Version
 DataFilesFunctions for reading and writing data files (empty version)0.0.0
 DeltaRobotLibrary for modelling of Delta Robots1.0.2
 DesignDesign (empty version)0.0.0
 DriveControlLibrary to demonstrate control of electrical drives4.0.0
 DrivingCyclesDriving cycles of vehicles0.1.0
 DroneLibraryModelica libray to model drones(UAVs)1.0.0
 DymolaCommandsDymolaCommands (empty version)0.0.0
DynamicSelectselect static or dynamic expressions in the annotations
 EHPTexamplesPackage containing basic EV models
 EHPTlibElectric and Hybrid Power train library Rev Jan 20232.1.4
 EMOTHElectric Mobility OTH1.9.0
 ElectricalEnergyStorageLibrary for electric energy storages3.2.2
 ElectroMechanicalDrivesLibrary for the simulation of electro mechanical drives and vehicles3.0.0
 ExtendedPetriNetsLibrary to model timed, stochastic Petri nets and state transition diagrams, extended version.
 ExternDataLibrary for data I/O of CSV, INI, JSON, MATLAB MAT, SSV, TIR, Excel XLS/XLSX or XML files3.0.5
 FCSysModelica fuel cell library0.2.6
 FCSysTestLibrary to test components of FCSys
 FMITestLibrary of models to test connected FMUs in a Modelica tool
 FailureModesA collection of examples of failure modes for Modelica models2.0.0
 FastBuildingsLow order building simulation models0.0
 FaultTriggeringLibrary for Fault Triggering0.6.6
 FluxTubesExtensionExtension of the Magnetic.FluxTubes package1.2.0
 FractionalOrder by Carlos Trujillo This file is part of the Free Fluids application Copyright (C) 2008-2022 Carlos Trujillo Gonzalez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.2.7
 GreenhousesThe Greenhouses Modelica Library1
 HanserModelicaEducational open source library on <html><a href="">Modelica, electrical engineering and polyphase electrical machines</a></html>2.0.0
 HelmholtzMediaData and models of real pure fluids (liquid, two-phase and gas)
 IBPSALibrary with models for building energy and control systems3.0.0
 IDEASIntegrated District Energy Assessment Simulation3.0.0
 IdealizedContactidealized contact models for simple surfaces0.1.0
 IndustrialControlSystemsModelica Industrial Control Systems Library1.1.0
 KeyWordIORead and write data files with key words0.11.X
 LargeTestSuiteLibrary for testing of very large models2.2.0
 LinearMPCModelica predictive control library (by the Institute of Automatic Control, RWTH Aachen University)1
 MEVModels of the Multiple Emergency Ventilator1.1.1
 ManualTrackingModelica manual tracking library
 MessagePackMessagePack is an efficient binary serialization format for multiple languages.0.1.1
 ModelManagementModelManagement (empty version)0.0.0
 ModelicaModelica Standard Library - Version
 ModelicaADSLibrary for socket communication in Modelica using the ADS protocol (
ModelicaAdditionsCollection of Modelica libraries of DLR1.5
 ModelicaComplianceA semantics compliance suite for the Modelica language3.2
 ModelicaDEVSDiscrete Event Systems Library1
 ModelicaReferenceModelica Reference4.0.0
 ModelicaServicesModelicaServices (OpenModelica implementation) - Models and functions used in the Modelica Standard Library requiring a tool specific implementation4.0.0
 ModelicaTableAdditionsExtension of the CombiTable blocks of the Modelica Standard Library to additionally support reading CSV, EPW (EnergyPlus Weather) and JSON files3.0.0
 ModelicaTestLibrary to test components of package Modelica - Version
 Modelica_DeviceDriversModelica_DeviceDrivers - A collection of drivers interfacing hardware like input devices, communication devices, shared memory, analog-digital converters and else2.1.1
 Modelica_LinearSystems2Modelica_LinearSystems2 (version 2.4.1) - Analysis, Synthesis and Modeling of Continuous and Discrete Linear Systems2.4.1
 Modelica_NoiseModelica_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_RequirementsModelica_Requirements (Version 0.6) - Defining requirements formally and checking them when simulating0.6
 Modelica_StateGraph2Modelica_StateGraph2 (Version 2.1.0) - Modeling of continuous-time state machines2.1.0
 Modelica_SynchronousModelica_Synchronous (version 0.93.0) - Basic synchronous input/output control blocks that are triggered by clocks0.93.0
 NcDataReader2Library to read interpolated data from netCDF files and DAP servers2.5.0
 NoiseAn open Library for the Generation of Stochastic Signals in Modelica0.2
 Nuclearnuclear reactor simulations
 ObjectStabObjectStab - A Modelica Library for Power System Stability Studies2.0.0
 ObsoleteModelica3Library that contains components from Modelica Standard Library 2.2.2 that have been removed from version
 ObsoleteModelica4Library that contains components from Modelica Standard Library 3.2.3 that have been removed from version
 OpenBLDCSimulation base package
 OpenHPLOpen-source hydropower library2.0.1
 OpenHydraulicsA free Modelica library that can be used to model hydraulic components and circuits.2.0.0
 OpenIMDMLOpen Instance Multi-Domain Machine Library using Modelica1
 OpenIPSLOpen-Instance Power System Library3.0.1
OpenModelicaOpenModelica internal definitions and scripting functionsOpenModelica 1.22.4
 OptimisersModel-based optimisation library0.1
 PVSystemsA Modelica library for photovoltaic system and power converter design0.6.2
PVlibPhotovoltaics library0.4
 PhysiolibrarySystem biology, integrative physiology and pathophysiology modelling library3.0.0
 PhysiomodelMammalian physiology model1.0.0
 PlanarMechanicsLibrary to model 2-dimensional, planar mechanical systems1.6.0
 PowerSystemsLibrary for electrical power systems2.0.0
 PraxisSimulationstechnikLibrary of example and solution models from Peter Junglas' book "Praxis der Simulationstechnik"
 QCalcModelica units based on quantity calculus
 QCalcTestsTests for QCalc
QSSFluidFlowLibrary for modeling of quasi-steady-state fluid flow with constant fluid density.
 RealTimeCoordinationLibraryComponents for defining clocks, time constraints, and invariants.1.0.2
 SDFScientific Data Format (empty version)0.0.0
 SMPSBuilding blocks for modeling of switched - mode power converters.
 ScalableTestSuiteA library of scalable Modelica test models2.2.0
 SoltermicaSolar thermal systems Modelica library
 SpotPower-systems SPOT0.706.1
 SpotExamplesSpot examples0.706.1
 StewartPlatformLibrary for modelling of Stewart Platforms1.0.2
 StreamConnectorsA simple library to learn the basics of stream connectors
 SystemDynamicsSystem Dynamics Library2.1.2
 TILMediaTILMedia-Library with thermophysical properties of Fluids and Solids1.8.1 ClaRa
 TRANSFORMTRANSFORM - TRANsient Simulation Framework Of Reconfigurable Models - version 0.1beta1
 ThermalSeparationThermal Separation Library0.2
 ThermoCycleA library for the simulation of thermal systems
 ThermoPowerOpen library for thermal power plant simulation3.1
 ThermofluidStreamLibrary for the modeling of thermofluid streams1.1.0
 TransiEntLibrary for transient simulation of integrated energy networks with a high share of renewable energies2.0.2
 UserInteractionUserInteraction (empty version)0.0.0
 VehicleInterfacesVehicleInterfaces Library (Version 2.0.1) - Interface definitions and architectures for vehicle system modeling2.0.1
 WasteWaterModelica WasteWater Library2.1.0
 WaterHubWater-Energy Nexus library
 WaveletModelica Wavelet Library
 WindPowerPlantsLibrary of wind power plants2.0.0
 XogenyTestStand-alone library to facilitate assertion-based testing of Modelica code1.1
absAbsolute value
acosInverse cosine (-1 <= u <= 1)
activeStateReturn true if instance of a state machine is active, otherwise false
arrayConstructs an array
asinInverse sine (-1 <= u <= 1)
assertCheck an assertion condition
atanInverse tangent
atan2Four quadrant inverse tangent
backSampleFirst activation of clock is shifted in time before activation of uModelica 3.3
cardinalityNumber of connectors in connectionDeprecated
catConcatenate arrays along given dimension
ceilRound a real number towards plus infinity
changeIndicate discrete variable changing
classDirectoryNon-standard operatorDymola / MSL 2.2.1
coshHyperbolic cosine
crossCross product of two 3-vectors
delayDelay expression
derDerivative of the input expression
 dhcSimExtension library of Modelica Buildings Library for district heating and cooling components1
diagonalReturns a diagonal matrix
divInteger part of a division of two Real numbers
edgeIndicate rising edge
expExponential, base e
fillReturns an array with all elements equal
firstTickReturns the interval between the previous and present tick of the clock of its argument
floorRound a real number towards minus infinity
getInstanceNameModelica 3.3
holdConversion from clocked discrete-time to continuous timeModelica 3.3
homotopyModelica 3.2
 iPSLiTesla Power System Library1.1.0
identityIdentity matrix of given size
initialTrue if in initialization phase
initialStateDefine inital state of a state machine
integerReturns 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.].
intervalReturns the interval between the previous and present tick of the clock of its argument
linspaceReal vector with equally spaced elements
logNatural (base e) logarithm (u shall be > 0)
log10Base 10 logarithm (u shall be > 0)
matrixReturns the first two dimensions of an array as matrix
modInteger modulus of a division of two Real numbers
ndimsNumber of array dimensions
noClockClock of y=Clock(u) is always inferredModelica 3.3
noEventTurn off event triggering
onesReturns a one array
outerProductOuter product of two vectors
preRefer to left limit
previousAccess previous value of a clocked variableModelica 3.3
printPrints to stdout, useful for debugging.OpenModelica extension
productProduct of all array elements
pureModelica 3.4
reinitReinitialize state variable
remInteger remainder of the division of two Real numbers
sampleReturns the interval between the previous and present tick of the clock of its argument
scalarReturns a one-element array as scalar
shiftSampleFirst activation of clock is shifted in timeModelica 3.3
signSign of real or integer number
sinhHyperbolic sine
sizeReturns dimensions of an array
skewThe skew matrix associated with the vector
smoothIndicate smoothness of expression
spatialDistributionNot yet implementedModelica 3.3
sqrtSquare root
subSampleConversion from faster clock to slower clockModelica 3.3
sumSum of all array elements
superSampleConversion from slower clock to faster clockModelica 3.3
symmetricReturns a symmetric matrix
tanTangent (u shall not be -pi/2, pi/2, 3*pi/2, ...)
tanhHyperbolic tangent
terminalTrue after successful analysis
ticksInStateReturns the number of clock ticks since a transition was made to the currently active state
timeInStateReturns the time duration as Real in [s] since a transition was made to the currently active state
transitionDefine state machine transition
transposeTranspose a matrix
vectorReturns an array as vector
 wbEHPTlibElectric and Hybrid Power train library Rev March 2019
 wbEHVpkgPackage containing basic EV models
zerosReturns a zero array

Builtin Environment

MetaModelicaMetaModelica Language Extensions

Generated at 2024-05-28T18:15:54Z by OpenModelicaOpenModelica 1.22.4 using GenerateDoc.mos. Offline version (tar.xz) (zip).