Skip to content
/ Femyou Public

loading and running fmi-standard FMUs in dotnet core

License

Notifications You must be signed in to change notification settings

Oaz/Femyou

Repository files navigation

Femyou

loading and running fmi-standard FMUs in dotnet core

CI

The binary package is available from NuGet

Features

This is a limited implementation of the fmi-standard.

Available features :

  • Load FMU model
  • Get model variables
  • Create co-simulation instance
  • Read and write variable values from instance
  • Simulate by advancing time

The features are verified with the reference FMUs.

Example

using var model = Model.Load("BouncingBall.fmu");
var height = model.Variables["h"];
var velocity = model.Variables["v"];
double h = 60.0, v = 0.0;
using var instance = model.CreateCoSimulationInstance("demo");
instance.WriteReal((height, h), (velocity, v));
instance.StartTime(0.0);
while (h > 0 || Math.Abs(v) > 0)
{
  var values = instance.ReadReal(height, velocity).ToArray();
  h = values[0];
  v = values[1];
  instance.AdvanceTime(0.1);
}

Demos

The Bouncing Ball reference FMU visualized with GIF animation.

BouncingBall

About

loading and running fmi-standard FMUs in dotnet core

Resources

License

Stars

Watchers

Forks

Packages

No packages published