[Simscape] Are there ways to build segmented/discretised models with n as a block/mask parameter
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Andreas
el 12 de Mayo de 2015
Editada: Sebastian Castro
el 25 de Dic. de 2015
Hello everyone, we are working a lot with Simscape's thermal liquid domain and pipe models. Often, we discretise pipes in 5 to 100 segements (some kind of mixing pot model), but have to manually build up all variants.
We'd appreciate an otion, to build up a model and repeat certain parts via mask parameters. E.g. take standard pipe, enter length 10 m and n=5, another one shall be 80 m an n=20 --> similar to Modelica world.
We'd like to avoid building custom domains or coding in general, since most of our library components are entirely built from foundation library.
2 comentarios
Respuesta aceptada
Sebastian Castro
el 13 de Oct. de 2015
Editada: Sebastian Castro
el 25 de Dic. de 2015
I've personally done this with the new Two-Phase Fluid domain in Simscape, which is basically the same thing.
To make a long story short, you have to program it yourself. The general workflow is:
- Create a masked subsystem where the number of segments N is a parameter.
- Whenever N changes, you need to run a script in the mask's initialization commands that modifies the inside of the block.
- You should first decide which blocks comprise your "segment". For example, the simplest case would be to connect Pipe (TL) blocks in series.
- In the MATLAB script, you'd have to come up with a way to connect N number of blocks together. To do this, functions like add_block, add_line, and get_param / set_param will be crucial.
I know you said you didn't want any coding, but that would be the way to go in Simscape. Happy to help if you want to further pursue this approach.
- Sebastian
Más respuestas (0)
Ver también
Categorías
Más información sobre Foundation and Custom Domains en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!