I was reading an old discussion about linking MATLAB with SWMM5 through SWMM DOS engine (http://swmm2000.com/forum/topics/linking-swmm5-gui-to-matlab), and I got really interested about the possibility of changing SWMM parameters during the simulation, because I am trying to analize the implementacion of RTC in sewer systems with control techniques such as Model Predictive Control (MPC), Fuzzy Control and Heuristics. That's a little tricky using just SWMM control rules, for that reason I hope to find the way to link MATLAB with SWMM in each time step and change parameters as the height of a gate or the opening of a valve. Is it possible?

 

Thanks a lot!

You need to be a member of SWMM 5 or SWMM or EPASWMM and SWMM5 in ICM_SWMM to add comments!

Join SWMM 5 or SWMM or EPASWMM and SWMM5 in ICM_SWMM

Email me when people reply –

Replies

  • Hello,

    I have a Forum topic that covers running SWMM 5 in batch mode and using MatLab with SWMM 5 - mainly from students over the years

    http://swmm2000.com/forum/categories/matlab-and-batch-swmm5/listFor...

    it is possible to do as you suggest but it might be faster to call SWMM 5 every 15 minutes of so to change the RTC or Control Parameters - every time step might be too slow for a large model.

    • Thanks for your valuable help Bob,

      I have read most of the discussions but they explain how to retrieve data from ther report file or the output file after the simulation, so MATLAB can process the data, and change the parameters in the input file for a new simulation. Can you give me some detailed explanation of how to process the data and change SWMM parameters during the simulation. I was thinking that it can be possible if the C code is modified to "pause" the simulation in order to write the results of one time step run (let's say it's an small model) in some .txt file or even the rpt file, so matlab can parse the data, generate a decision and report the success to SWMM to continue the simulation.

      The issue is that I don't know very well SWMM structure/architecture and I don't know wich C file or method I have to change to achieve this, maybe you can give me a clue about this. 

This reply was deleted.