Skip to content

Add new node-type FMU - #1017

Open
riteshk001 wants to merge 9 commits into
masterfrom
node-fmu
Open

Add new node-type FMU#1017
riteshk001 wants to merge 9 commits into
masterfrom
node-fmu

Conversation

@riteshk001

Copy link
Copy Markdown
Collaborator

@al3xa23

New node type implementation based on Functional Mock-up Interface (FMI 3.0). Currently supports Co-Simulation. Functionality can be further extended to include Model Exchange simulation too.

riteshk001 and others added 7 commits June 29, 2026 15:19
Signed-off-by: Ritesh.K <riteshkarki6@gmail.com>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Ritesh.K <riteshkarki6@gmail.com>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Ritesh.K <riteshkarki6@gmail.com>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Ritesh.K <riteshkarki6@gmail.com>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Ritesh.K <riteshkarki6@gmail.com>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Signed-off-by: Ritesh.K <riteshkarki6@gmail.com>
@stv0g stv0g changed the title Add new node type FMU. Add new node-type FMU Jul 9, 2026

@stv0g stv0g left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work. Its great to see FMI support landing in VILLAS

Comment thread etc/examples/nodes/fmu.conf Outdated
Comment thread cmake/FindFMI.cmake Outdated
Comment thread doc/openapi/components/schemas/config/nodes/_fmu.yaml Outdated
Comment thread etc/examples/nodes/fmu.conf Outdated
Comment thread etc/examples/nodes/fmu.conf Outdated
Comment thread etc/examples/nodes/fmu.conf Outdated
Comment thread lib/nodes/fmu.cpp
Comment thread lib/nodes/fmu.cpp Outdated
Comment thread lib/nodes/fmu.cpp
Comment thread lib/nodes/fmu.cpp
while (hasInputs && (writingTurn || currentTime >= stopTime)) {
pthread_cond_wait(&cv, &mutex);
}
double targetTime = currentTime + stepSize;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this not executing the FMU using a real-time scale?

Can you elaborate a bit how this node-type is indentend to be used?
E.g. does it expect periodic input data to proceed its internal time?
How does the internal time related to the real time?

Do we already have a PR for the node-type? I think this deserves some explanation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now, it needs periodic input data. My plan would be to include real-time later

@stv0g stv0g added the node::fmi label Jul 9, 2026
Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants