Skip to main content

Adapter for FMUs (ME or CS) in mosaik

Project description

This mosaik-fmi adapter allows to couple FMUs, which are based on the FMI standard (https://fmi-standard.org) with mosaik.

Installation

Test

The FMUs for the test is based on https://github.com/modelica/Reference-FMUs.

How to Use

Specify simulator configurations within your scenario script:

sim_config = {
    'FMI': {
        'python': 'mosaik_fmi.mosaik_fmi:FmuAdapter',
    },
    ...
}

Initialize the FMU Simulator:

fmu_sim = world.start('FMI',
                    integrator='integratorCK',
                    work_dir='path/to/the/fmu/directory',
                    fmu_name='FMU_name',
                    fmi_version='2',
                    fmi_type='cs',
                    logging_on=False,
                    instance_name='FMU_name',
                    step_size=60*60)

Instantiate FMU model entity:

fmu_entity = fmu_sim.FMU_name.create(1,
                             input_1=1.0,          #  FMU input variable
                             input_2=2.0,          #  All variables are listed in modelDescription.xml
                             ...
                             )

Connect FMU output to another simulator’s input:

world.connect(fmu_entity[0], other_simulator,'fmu_output_1', 'simulator_input_1')

Selecting integrator

Refer to https://fmipp.readthedocs.io/projects/py-fmipp/en/latest/getting-started/model-exchange.html#classes-fmumodelexchangev1-and-fmumodelexchangev2 for choosing different integration algorithms

Getting help

If you need help, please visit the mosaik-users mailing list .

Changelog

1.0 – 2023-06-14

  • New: add test cases to test FMI v1 and v2

  • Fix: model identifier parsing fixed for FMI v1

  • Update: use fmipp.export.fmippex instead of fmipp

0.2 – 2022-02-23

  • Fix: FMI model identifier instead of model name needed to create FMU using fmipp

0.1 – 2020-08-14

  • Initial release

Authors

The adapter was initially developed by Cornelius Steinbrink and updated and extended by Thomas Raub,

Jan Sören Schwarz, Sharaf Alsharif and Annika Ofenloch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mosaik_fmi-1.0.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

mosaik_fmi-1.0-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page