Xmod Co-simulation Portable

When you hit "Build," XMOD automatically generates C/C++ code from your model blocks. Crucially, it wraps this code with a communication layer—often serial, CAN, or Ethernet—depending on the hardware target supported.

The code is cross-compiled and downloaded to the target hardware. Simultaneously, XMOD replaces the original blocks in your Simulink model with a "placeholder" block. This placeholder sends input signals from Simulink to the hardware and receives calculated outputs back.

Developed by Enorise (based on MORPHEE technology), is a simulation and virtual experimentation platform. Its primary purpose is to simplify the exchange and exploitation of models by providing a "tool-coupling" environment where different sub-systems—often developed in different languages or tools—can interact seamlessly. xmod co-simulation

while t < t_end - 1e-12: converged = False for _iter in range(max_iter): inputs_for = {name: {} for name in self.models} for fm, fp, tm, tp in self.connections: if fm in outputs and fp in outputs[fm]: inputs_for[tm][tp] = outputs[fm][fp]

Are you using co-simulation in your current workflow? Let us know in the comments how it has saved your project timeline. When you hit "Build," XMOD automatically generates C/C++

This is a compact where each xmod component could run in a separate process, use different solvers, or be wrapped from C/FMI.

import numpy as np from dataclasses import dataclass from typing import Dict, List, Callable from abc import ABC, abstractmethod Simultaneously, XMOD replaces the original blocks in your

def __init__(self, name: str): self.name = name self.input_ports: List[XModPort] = [] self.output_ports: List[XModPort] = []

XMOD co-simulation finds applications across various industries, including:


xmod co-simulation