How to create a conditionally executed subsystem in SimScape?

4 views (last 30 days)
To get insight into the effect of door openings on the performance of a fridge, I've been trying to modify the ssc_refrigeration model that is provided with Matlab/Simulink as a demo. My idea was to have two different enabled subsystems in the Refrigerator Compartment block between which the simulation can switch, like this:
However, it turns out that an enabled subsystem is considered to be "nonvirtual", which means that it cannot be used to contain Simscape blocks, unless the whole Simscape model is contained by it (but that wouldn't help me).
Any ideas how this can be resolved? Some kind of adjustable heat transfer block that is controlled by a Simulink signal might also be an option, but the only thermal elements in Simscape that accept signals as input are the Ideal Heat Flow and Temperature sources and I have no idea how these could help.

Accepted Answer

Sebastian Castro
Sebastian Castro on 7 Apr 2017
You can do this with by creating custom components with the Simscape language.
For a simple door open/door closed relationship, I would likely implement this component in a way similar to the regular electrical switch block, but in thermal version. What I would do is:
  • Create a local copy of the built-in conduction/convection blocks (as needed), so you can start from there and make modifications.
  • Add an input signal to your custom block.
  • Then, add the following logic to the equations section: If the door is open, use a high conductivity/convectivity value; else, if closed, use a much smaller conductivity/convectivity.
Of course, you can get as complicated as you need with the dynamics/modes of this door open/close relationship.
- Sebastian
  1 Comment
Wilfred
Wilfred on 7 Apr 2017
Thanks! I wasn't aware of the possibility to create custom components. Sounds good. We'll look into it.

Sign in to comment.

More Answers (0)

Categories

Find more on Discrete Events and Mode Charts in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!