Borrar filtros
Borrar filtros

How change simscape simulation time from seconds (sec.) to hours (h)

16 visualizaciones (últimos 30 días)
Michael Feichtinger
Michael Feichtinger el 15 de Jul. de 2021
Respondida: Yifeng Tang el 3 de Ag. de 2022
Hi everyone,
I am modelling a gas network (Reservoir, mashed network, multiple consumption units with real data) in the Gas Domain of Simscape. The main subject is to get a deeper understanding of the network's conditions (pressure, velocity in pipes et.) in case of errors et.
Dataset with respect to ~ 60 consumption units are provided in unit/interval length of [kg * hour-1] for one year (8760 rows). As I know, the default simulation time is [sec], so I convert all consumption data with the factor 3600 [sec-1] and mapped it to a condrolled mass flow rate units.
The model is working with the deascc with variable-step solver, however, what are the implications in terms of simulation results to convert from [h] in [s] like this?
  • How should i deal with the data - resampling 8760 [h] in [sec] and then backfill isn't really a option because you get 8600*60*60 (rows)?
  • How with simulation time configurations (sample time)?
consumption unit in with kg/s:
Thank you in advance for any help you can provide.
  3 comentarios
Michael Feichtinger
Michael Feichtinger el 3 de Ag. de 2021
Hi Tang, what do you mean with "Multiply the time values in hr by 3600?"
I actually did the opposite of multiplying.
e.g. i divided all [kg/h] values with 3600 to get [kg/s] and then simulate for 8760 s, and converte the result with * 3600 to [kg/h] again.
Yifeng Tang
Yifeng Tang el 4 de Ag. de 2021
You are right, the quantities in say kg/h needs to be divided by 3600 to get kg/s. At the same time, I think you may convert your datenum or datetime data to seconds, and use that time array in seconds in the "from workspace" block. The values between each time value will be linearly interpolated I believe.

Iniciar sesión para comentar.

Respuestas (1)

Yifeng Tang
Yifeng Tang el 3 de Ag. de 2022
Just to summarize the thread of comments, so the question appears as "Answered".
The easiset way is to multiply the duration of time by 3600. At the same time, any "per time" quantity needs to be scaled accordingly. If Simulink-PS or Simscape units are used, the units may be set as "/hr" so manual conversion won't be necessary.
In addition, the seconds command can convert duration from table imports to seconds, so it's easier to set up the simulation.


Más información sobre Troubleshooting 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!

Translated by