All Projects → modelica-tools → FMUComplianceChecker

modelica-tools / FMUComplianceChecker

Licence: BSD-3-Clause license
FMI Compliance Checker for validation of FMUs 1.0 and 2.0

Programming Languages

c
50402 projects - #5 most used programming language
CMake
9771 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to FMUComplianceChecker

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 (+15.15%)
Mutual labels:  fmi, 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 (+6.06%)
Mutual labels:  fmi, fmi-standard
fmi-standard.org
Website of the Functional Mock-up Interface (FMI)
Stars: ✭ 34 (+3.03%)
Mutual labels:  fmi, fmi-standard
FMI4j
FMI4j is a software package for dealing with Functional Mockup Units (FMUs) on the JVM
Stars: ✭ 17 (-48.48%)
Mutual labels:  fmi, fmi-standard
awesome-fmi
A curated list of Functional Mock-up Interface (FMI) libraries, tools and resources.
Stars: ✭ 86 (+160.61%)
Mutual labels:  fmi, fmi-standard
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 (-21.21%)
Mutual labels:  fmi
fmiopendata
Python interface for FMI open data
Stars: ✭ 35 (+6.06%)
Mutual labels:  fmi
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 (+206.06%)
Mutual labels:  fmi
PythonFMU
A lightweight framework that enables the packaging of Python3.x code as co-simulation FMUs
Stars: ✭ 82 (+148.48%)
Mutual labels:  fmi-standard
JuliaFMI
Simulator for FMUs in Julia (WIP)
Stars: ✭ 20 (-39.39%)
Mutual labels:  fmi
fmi adapter
Integrating functional mock-up units (FMUs) in ROS nodes
Stars: ✭ 26 (-21.21%)
Mutual labels:  fmi
modest-py
FMI-compliant Model Estimation in Python
Stars: ✭ 40 (+21.21%)
Mutual labels:  fmi
fmi-cross-check
Results and FMUs for the FMI Cross-Check
Stars: ✭ 33 (+0%)
Mutual labels:  fmi

FMI Compliance Checker

Background information for FMI Compliance Checker (FMUChecker) application.

The FMI Compliance Checker is intended for validation of FMU 1.0 and 2.0 compliance to the standard specification as published at http://www.fmi-standard.org

The basic features include:

  • automatic unzipping into a temporary directory
  • checking of XML model description
    • for syntax errors
    • for correct order of elements and correct cardinality or relations
    • for correct cross-references
    • for semantic consistency
  • validation of binary FMUs compiled for "standard32/default" platform for Windows (.dll), Linux (.so) and Mac OS (.dylib).
    • loading of the binary module
    • checking whether all required functions are available
    • for model exchange FMUs test whether the FMU can be simulated with explicit (forward) Euler method
      • fixed step size is used
      • no iterations for exact location of state events
    • for co-simulation FMUs test whether the FMU can be simulated with fixed communication step size
    • log computed solution to csv result file (comma separated values, file format is by default compatible with RFC4180, the header contains variable names, first column is time, alternative field separator may be specified as an option).
    • can supply numerical input data to the simulation from an CSV file. Input start values from FMU binary (not XML) will be used in case no input is provided. String inputs are currently not supported. The input file is expected to be RFC4180 compatible with following modifications:
      • The file must be in UTF-8 encoding
      • First line must be a header listing the variable names
      • First column must be time
      • Variable names shall match the names in the modelDescription.xml file exactly
      • Variable names may be put in double quotes according to the RFC4180 rules
      • Decimal separator for numerical data is a dot
      • Numerical data shall not be quoted
      • Boolean data must be represented with 0 for false and 1 for true
      • Field separator may be any printable ASCII character (detected automatically)
      • End of line may be either CR-LF or just LF.
  • validation log messages are written to stderr. Can be redirected to file.
Usage: fmuCheck.<platform> [options] <model.fmu>

Options:

-c <separator>   Separator character to be used in CSV output. Default is ','.

-d               Print also left limit values at event points to the output
                 file to investigate event behaviour. Default is to only print
                 values after event handling.

-e <filename>    Error log file name. Default is to use standard error.

-f               Print all variables to the output file. Default is to only
                 print outputs.

-h <stepSize>    For ME simulation: Decides step size to use in forward Euler.
                 For CS simulation: Decides communication step size for the
                 stepping.
                 Observe that if a small stepSize is used the number of saved
                 outputs will still be limited by the number of output points.
                 Default is to calculated a step size from the number of output
                 points. See the -n option for how the number of outputs is
                 set.

-i <infile>      Name of the CSV file name with input data.

-l <log level>   Log level: 0 - no logging, 1 - fatal errors only, 2 - errors,
                 3 - warnings, 4 - info, 5 - verbose, 6 - debug.

-m               Mangle variable names to avoid quoting (needed for some CSV
                 importing applications, but not according to the CrossCheck
                 rules).

-n <numSteps>    Maximum number of output points. "-n 0" means output at every
                 step and the number of outputs are decided by the -h option.
                 Observe that no interpolation is used, output points are taken
                 at the steps.
                 Default is 500.

-o <filename>    Simulation result output CSV file name. Default is to use
                 standard output.

-s <stopTime>    Simulation stop time, default is to use information from
                 'DefaultExperiment' as specified in the model description XML.

-t <tmp-dir>     Temporary dir to use for unpacking the FMU.
                 Default is to use system-wide directory, e.g., C:\Temp or /tmp.

-v               Print the checker version information.

-k xml           Check XML only.
-k me            Check XML and ME simulation.
-k cs            Check XML and CS simulation.
                 Multiple -k options add up.
                 No -k option: test XML, simulate ME and CS respectively if
                 supported.

-x               Check XML only. Same as -k xml.

-z <unzip-dir>   Do not create and remove a temp directory but instead use the
                 specified one for unpacking the FMU. The option takes
                 precendence over -t.


Command line examples:

fmuCheck.win32 model.fmu
        The checker on win32 platform will process 'model.fmu' with default
        options.

fmuCheck.win64 -e log.txt -o result.csv -c , -s 2 -h 1e-3 -l 5 -t . model.fmu
        The checker on win64 platform will process "model.fmu". The log
        messages will be saved in log.txt, simulation output in
        result.csv and comma will be used for field separation in the CSV
        file. The checker will simulate the FMU until 2 seconds with
        time step 1e-3 seconds. Verbose messages will be generated.
        Temporary files will be created in the current directory.
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].