All Projects → NTNU-IHB → FMI4j

NTNU-IHB / FMI4j

Licence: MIT license
FMI4j is a software package for dealing with Functional Mockup Units (FMUs) on the JVM

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects
C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to FMI4j

awesome-fmi
A curated list of Functional Mock-up Interface (FMI) libraries, tools and resources.
Stars: ✭ 86 (+405.88%)
Mutual labels:  fmi, fmu, fmi-standard
JuliaFMI
Simulator for FMUs in Julia (WIP)
Stars: ✭ 20 (+17.65%)
Mutual labels:  fmi, fmu, model-exchange
FMU-proxy
Tool that allows Functional Mock-up Units (FMUs) to be accessed through language independent RPC calls by wrapping the original FMU into a new one with network capabilities.
Stars: ✭ 38 (+123.53%)
Mutual labels:  fmi, fmu, fmi-standard
RaPId
RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems.
Stars: ✭ 35 (+105.88%)
Mutual labels:  fmi, fmu, fmi-standard
FMUComplianceChecker
FMI Compliance Checker for validation of FMUs 1.0 and 2.0
Stars: ✭ 33 (+94.12%)
Mutual labels:  fmi, fmi-standard
PythonFMU
A lightweight framework that enables the packaging of Python3.x code as co-simulation FMUs
Stars: ✭ 82 (+382.35%)
Mutual labels:  fmi-standard, co-simulation
modest-py
FMI-compliant Model Estimation in Python
Stars: ✭ 40 (+135.29%)
Mutual labels:  fmi, fmu
fmi-standard.org
Website of the Functional Mock-up Interface (FMI)
Stars: ✭ 34 (+100%)
Mutual labels:  fmi, fmi-standard
fmi-cross-check
Results and FMUs for the FMI Cross-Check
Stars: ✭ 33 (+94.12%)
Mutual labels:  fmi
FMI-DSA
Some examples druing the DSA (data structures and algorithms) courses given by me (Ivan Filipov) as a teaching assistant @ Faculty of Mathematics and Informatics, Sofia University 2016-2019
Stars: ✭ 26 (+52.94%)
Mutual labels:  fmi
fmiopendata
Python interface for FMI open data
Stars: ✭ 35 (+105.88%)
Mutual labels:  fmi
pade
Python Agent DEvelopment framework
Stars: ✭ 81 (+376.47%)
Mutual labels:  co-simulation
hopsan
Hopsan is a free multi-domain system simulation tool developed at the division of Fluid and mechatronic systems at Linköping university.
Stars: ✭ 101 (+494.12%)
Mutual labels:  fmi
fmi adapter
Integrating functional mock-up units (FMUs) in ROS nodes
Stars: ✭ 26 (+52.94%)
Mutual labels:  fmi
csv-compare
Tool to compare curves from one csv files with curves from other csv files using an adjustable tolerance
Stars: ✭ 21 (+23.53%)
Mutual labels:  fmu
HELICS
Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
Stars: ✭ 76 (+347.06%)
Mutual labels:  co-simulation

FMI4j

License: MIT contributions welcome

CI Gitter

FMI4j is a software package for dealing with Functional Mock-up Units (FMUs) on the Java Virtual Machine (JVM), written in Kotlin.

FMI4j supports import of both FMI 1.0 and 2.0 for Co-simulation. For Model Exchange version 2.0 is supported.

Compared to other FMI libraries targeting the JVM, FMI4j is considerably faster due to the fact that we use JNI instead of JNA. Considering FMI-import, a significant speedup (2-5x) compared to other open-source FMI implementations for the JVM should be expected.

Maven artifacts are available through Central


FMI import

class Demo {
    
    void main(String[] args) {
        
        Fmu fmu = Fmu.from(new File("path/to/fmu.fmu")); //URLs are also supported
        FmuSlave slave = fmu.asCoSimulationFmu().newInstance();

        slave.simpleSetup();
        
        double t = 0;
        double stop = 10;
        double stepSize = 1.0/100;
        while(t <= stop) {
            if (!slave.doStep(t, stepSize)) {
                break;
            }
            t += stepSize;
        }
        slave.terminate(); //or close, try with resources is also supported
        fmu.close();
        
    }
    
}

Would you rather build FMUs using a JVM language? Check out FMU4j!
Or maybe build FMUs using Python? Check out PythonFMU!
Or would you rather simulate FMUs using C++? Check out FMI4cpp!
Need to distribute your FMUs? FMU-proxy to the rescue!
Need a complete co-simulation framework with SSP support? Check out Vico

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].