All Projects → OpenModelica → OMJulia.jl

OpenModelica / OMJulia.jl

Licence: BSD-3-Clause license
Julia scripting OpenModelica interface

Programming Languages

julia
2034 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to OMJulia.jl

gitkraken
Arch User Repository Gitkraken
Stars: ✭ 113 (+264.52%)
Mutual labels:  pkg
sync-pkg
Minimalist CLI to sync only basic properties from package.json to bower.json
Stars: ✭ 15 (-51.61%)
Mutual labels:  pkg
DynamicHMCModels.jl
DynamicHMC versions of StatisticalRethinking models
Stars: ✭ 17 (-45.16%)
Mutual labels:  julia-package
Wallpaper-Engine-Pkg-to-Zip
Simple program to convert the wallpaper engine pkg files to zip and back!
Stars: ✭ 57 (+83.87%)
Mutual labels:  pkg
GNU-bash-mac-installer
Downloads and builds a Mac package installer for GNU bash 5
Stars: ✭ 17 (-45.16%)
Mutual labels:  pkg
NotebookToLaTeX.jl
A Julia package for converting your Pluto and Jupyter Notebooks into beautiful Latex.
Stars: ✭ 70 (+125.81%)
Mutual labels:  julia-package
FaceDetection.jl
A face detection algorithm using Viola-Jones' rapid object detection framework written in Julia
Stars: ✭ 13 (-58.06%)
Mutual labels:  julia-package
dockerpkg-example
Example app running in small docker container using dockerpkg
Stars: ✭ 54 (+74.19%)
Mutual labels:  pkg
Electron Builder
A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box
Stars: ✭ 11,653 (+37490.32%)
Mutual labels:  pkg
PkgCleanup.jl
Cleanup unused Julia environments and artifacts
Stars: ✭ 53 (+70.97%)
Mutual labels:  pkg
Installomator
Installation script to deploy standard software on Macs
Stars: ✭ 472 (+1422.58%)
Mutual labels:  pkg
ps4-remote-pkg-installer
PS4 Remote PKG Installer GUI for https://github.com/flatz/ps4_remote_pkg_installer
Stars: ✭ 107 (+245.16%)
Mutual labels:  pkg
pkgcheck
Script to check installer pkgs for deprecated runtime calls
Stars: ✭ 88 (+183.87%)
Mutual labels:  pkg
octopkg
A Qt-based pkgng (BSD) front end
Stars: ✭ 33 (+6.45%)
Mutual labels:  pkg
TransformVariables.jl
Transformations to contrained variables from ℝⁿ.
Stars: ✭ 52 (+67.74%)
Mutual labels:  julia-package
QRCode.jl
Creating QR Codes within Julia
Stars: ✭ 29 (-6.45%)
Mutual labels:  julia-package
OMCompiler
The OpenModelica Compiler is the core of the OpenModelica project, which is an open-source Modelica-based modeling and simulation environment intended for industrial and academic usage.
Stars: ✭ 53 (+70.97%)
Mutual labels:  openmodelica
SortingLab.jl
Faster sorting algorithms (sort and sortperm) for Julia
Stars: ✭ 20 (-35.48%)
Mutual labels:  julia-package
rcpp progress
RcppProgress R package: An interruptible progress bar with OpenMP support for c++ in R packages
Stars: ✭ 26 (-16.13%)
Mutual labels:  pkg
DownloadFullInstaller
macOS application written in SwiftUI that downloads installer pkgs for the Install macOS Big Sur application.
Stars: ✭ 678 (+2087.1%)
Mutual labels:  pkg

OMJulia

Julia scripting OpenModelica interface

Requirements:

Openmodelica
Julia
Dependencies

Installation

For Windows

Set the OpenModelica to "Path" environment variable for windows:

"C:/OpenModelica1.14.0-dev-64bit/bin"

For GNU/Linux and macOS

Follow the instructions @ https://github.com/JuliaLang/julia

Getting OMJulia

julia> import Pkg
julia> Pkg.add(Pkg.PackageSpec(url="https://github.com/OpenModelica/OMJulia.jl"))

Advanced API Scripting and UserGuide

To see the list advanced API, the informations are provided in the UserGuide see (https://www.openmodelica.org/doc/OpenModelicaUsersGuide/latest/omjulia.html)

Usage

julia> using OMJulia
julia> using OMJulia: sendExpression
julia> omc=OMJulia.OMCSession()
julia> sendExpression(omc, "getVersion()")
"OMCompiler v1.14.0-dev.117+gddcc28391"
julia> sendExpression(omc, "model a end a;")
1-element Array{Symbol,1}:
 :a
julia> sendExpression(omc, "getClassNames()")
1-element Array{Symbol,1}:
 :a
julia> sendExpression(omc, "loadModel(Modelica)")
true
julia> sendExpression(omc, "simulate(Modelica.Electrical.Analog.Examples.CauerLowPassAnalog)")
Dict{String,Any} with 10 entries:
  "timeCompile"       => 9.97018
  "simulationOptions" => "startTime = 0.0, stopTime = 60.0, numberOfIntervals = 500, tolerance = 1e-006, method = 'dassl', fileNamePrefix = 'Modelica.Electrical.Analog.Examples.CauerLowPassAnalog', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''"
  "messages"          => "LOG_SUCCESS       | info    | The initialization finished successfully without homotopy method.\nLOG_SUCCESS       | info    | The simulation finished successfully.\n"
  "timeFrontend"      => 0.45081
  "timeTotal"         => 11.04
  "timeTemplates"     => 0.104619
  "timeSimulation"    => 0.29745
  "resultFile"        => "PATH/TO/Modelica.Electrical.Analog.Examples.CauerLowPassAnalog_res.mat"
  "timeSimCode"       => 0.0409317
  "timeBackend"       => 0.140713
julia> OMJulia.sendExpression(omc, "quit()",parsed=false)
"quit requested, shutting server down\n"

To see the list of available commands in the OpenModelicaScripting API see (https://www.openmodelica.org/doc/OpenModelicaUsersGuide/latest/scripting_api.html

License

THIS PROGRAM IS PROVIDED UNDER THE TERMS OF THE BSD NEW LICENSE OR THE GPL VERSION 3 LICENSE OR THE OSMC PUBLIC LICENSE (OSMC-PL) VERSION 1.2. ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THE OSMC PUBLIC LICENSE OR THE GPL VERSION 3, ACCORDING TO RECIPIENTS CHOICE.

The OpenModelica software and the OSMC (Open Source Modelica Consortium) Public License (OSMC-PL) are obtained from OSMC, either from the above address, from the URLs: http://www.openmodelica.org or http://www.ida.liu.se/projects/OpenModelica, and in the OpenModelica distribution. GNU version 3 is obtained from: http://www.gnu.org/copyleft/gpl.html. The New BSD License is obtained from: http://www.opensource.org/licenses/BSD-3-Clause.

This program is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF OSMC-PL.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].