Acausal model towards FMU subsystem integration

9 views (last 30 days)
Assume a system modeled entirely with Simscape components. If I need to split this model into multiple FMUs (one per subsystem) to then integrate them later as an FMU based system model.
The question: is there any way to obtain the causality of the connetions between components automatically from Simcape?. I know this is something done by the software after compilation of the model. Is there any way to show it? this would really facilitate the FMU Export later on.
  3 Comments
CAME
CAME on 8 Feb 2025
Edited: CAME on 8 Feb 2025
I am using mechanical, thermal, electrical, and fluids. In general, I would need to be able to check the causality regardless of the domain since I expect to export components and/or subassemblies of multiphysics systems of one or multiple domains.
I assume that once the physical networks are implemented and compiled, the solver in the background identifies the information flux (causality), regardless of the domain. The requirement would be to check the direction of the information flowing through the physical conserving connectors between the blocks.
For example:
  • current [A] information exits the node, and voltage [V] information enters the node (+) of block x.
  • pressure enters the block port, mass flow rate exits the block port.
to name a few.
Yifeng Tang
Yifeng Tang on 10 Feb 2025
Getting information like direction of current, voltage at the port, flow rate etc., is definitely possible as they are available in the logged Simscape results. But, here is a maybe philosophical question: does such information shows causality? For example, if the model shows a current flows into the + node of a resistor, and it's + node has a higher voltage value than the - node, what is the implied causality here? Current driving the voltage or voltage difference causing the current? For some components, like a pump with a map, or a battery with a I-V curve, this causality is even more ... unclear. Sorry I don't have an answer to your question. But I really find it interesting :)

Sign in to comment.

Answers (0)

Categories

Find more on Variable Initialization in Help Center and File Exchange

Products


Release

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!