fmiModelExchange
Importe et intègre une FMU FMI 2.0 ou 3.0 Model Exchange.
📝Syntaxe
result = fmiModelExchange(fmu, tStop)
result = fmiModelExchange(fmu, tStop, dt)
📥Arguments d'entrée
Paramètre Description
fmu une chaîne de caractères : le chemin d'une archive .fmu, ou d'un répertoire de FMU déjà extrait. La FMU doit fournir l'interface Model Exchange.
tStop un scalaire réel strictement positif : l'instant d'arrêt. La simulation débute à l'instant 0.
dt un scalaire réel strictement positif optionnel : le pas d'intégration fixe. En son absence il vaut par défaut tStop / 1000. Le Model Exchange demande en général un pas plus fin que la co-simulation, car Nelson intègre lui-même les états.
📤Arguments de sortie
Paramètre Description
result une structure scalaire avec les champs time (N x 1), outputNames (1 x nOut) et outputs (N x nOut).
đź“„Description

fmiModelExchange importe une unité de maquette fonctionnelle (FMU) conforme à l'interface FMI 2.0 ou 3.0 Model Exchange et l'intègre avec le solveur de Nelson.

La différence essentielle avec fmiCoSimulate est de savoir qui possède le solveur. Une FMU de co-simulation contient son propre solveur et est avancée par doStep. Une FMU Model Exchange n'expose que les équations du modèle (dérivées des états, sorties et indicateurs d'événement) ; c'est l'outil importateur qui fournit le solveur. fmiModelExchange intègre les états continus de la FMU avec une méthode de Runge-Kutta d'ordre 4 à pas fixe et gère les événements d'état détectés en fin de pas (passage en mode événement, exécution du point fixe de mise à jour discrète, relecture des états continus).

Aucune entrée externe n'est appliquée : les paramètres et entrées conservent leurs valeurs initiales. Une erreur est levée lorsque la FMU ne fournit pas l'interface Model Exchange.

đź’ˇExemples
Intégrer l'oscillateur de Van der Pol comme FMU Model Exchange.
fmu = [modulepath('nflow_fmi', 'root'), '/examples/VanDerPol.fmu'];
r = fmiModelExchange(fmu, 20, 0.01);
plot(r.time, r.outputs); legend(r.outputNames);
đź”—Voir aussi
fmiCoSimulatefmiInfo
đź•”Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub