Hi!(adsbygoogle = window.adsbygoogle || []).push({});

I'm trying to compute air flow between chambers for a project.

I'm having a numerical oscillation problem, and I've created an example Simulink program that highlights the cause.

Please see the attached Simulink model for a clear understanding; in the following I will do my best to give an explanation about the model, the problem that arises, my interpretation for it, and the solutions I have tried.

Description of the model:

The chambers are represented by numbers, and the air flow between them is represented by a number flow. The number flow between two numbers is calculated based on the difference of the two numbers (diff raised to a given power).

In the example, we are trying to fill up a chamber through another chamber that is given a constant air flow. Some of this air goes out of the system into the environment, and some reaches Chamber 2. Over time, an equilibrium is reached.

The problem that arises:

The oscillation occurres when the two Chamber's pressure ( = value) get close to each other, and then gets amplified.

The two main reasons I have found for this behavior (besides the discrete time-step solution):

1. Chamber 2's "time constant"is much smaller than Chamber 1's. In the example, this means that a given air flow increases Chamber 2's value more than Chamber 1's. (Gain parameter of the Chamber block).

2. The rule governing the air flow between two chambers is (val1-val2)^power. If power < 1, the oscillation occurres.

My explanation:

I'm guessing that near the equilibrium, air doesn't flow out of Chamber 1 as much as before, but the air flowing in causes it's value to increase. And so Chamber 1's value is greater than it should be, and Chamber 2's value is less than it should be. (The time step governs, "by how much"). Then, during the next time step, due to the mentioned difference, more air flows from 1->2 than it should, causes Chamber 2's value to decrease more than it should. And so the oscillation starts, and is amplified due to the power being less than 1.

Attempt at the solution:

In the scopes, you can clearly see how the solution oscillates around the precise solution. I wish to find a solution which reaches the precise solution, (without altering the time-step, solver type (Euler!), power & gain factors.

I've tried a lot of things, some which work for this particular example (topology of elements), but I haven't found a global solution yet. Some of the things I tried:

-Filters (exponential + averaging) merely decreased the frequency and amplitude of the oscillation.

-I also tried checking if the two numbers are "near", + also if a change in air flow direction has occurred, and if so, have the air flow not change it's value for a time step. (Actually I tried a lot of things "that should happen" in the situation occurres, but none of them worked.

I'm done with "trying", I want to solve this problem using mathematical considerations, but I'm lost at how to start.

Any help (including ideas, ways to tackle the problem, or what literature I should check out) - is greatly appreciated!

-Tusike

Air flow (top) and pressure (value) change of a chamber:

**Physics Forums - The Fusion of Science and Community**

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Simulink help solving numerical oscillation

Loading...

Similar Threads - Simulink help solving | Date |
---|---|

Step Response Characteristics in Simulink | Mar 11, 2018 |

Converting Simulink model to C code, integration | Nov 5, 2017 |

Matlab Sliding mode observer in Matlab or Simulink | Aug 2, 2017 |

Simulink Help Needed (BPSK Receiver) | Jun 17, 2009 |

Simulink Help (i would imagine its a pretty simple solution) | Mar 16, 2009 |

**Physics Forums - The Fusion of Science and Community**