Upper limit or saturation

3 ビュー (過去 30 日間)
Peter Madelung
Peter Madelung 2013 年 9 月 9 日
Hi. I am currently trying to model a chemical equilibrium where there is an in flow of matter using the simbiology add-on.
There is an upper limit of one of the species, so my question is how do i specify an upper limit or saturation of a species in simbiology?

採用された回答

Ingrid Tigges
Ingrid Tigges 2013 年 9 月 9 日
Should the upper limit come into play when running a simulation? In this case, you could set the upper limit using an event. Have a look at http://www.mathworks.de/de/help/simbio/ug/event-object.html
  2 件のコメント
Peter Madelung
Peter Madelung 2013 年 9 月 9 日
Yes, i tried that e.g. setting the trigger and event as the saturation conc. but i get some strange errors. 1) The left-hand side of event function 'D = 3.9E-6' in the event 'Saturation' does not refer to a non-constant species, parameter, or compartment object 2) Dimensional analysis failed for event 'Saturation'. Quantities of different dimensions cannot be compared with relational operators. 3) Dimensional analysis failed for event 'Saturation'. The units of the left- and right-hand sides of all event functions must agree.
it appears that the actual event is not the problem but it is the trigger.
What am i doing wrong?
Ingrid Tigges
Ingrid Tigges 2013 年 9 月 10 日
Personally, I would contact technical support so that someone can look into your model.

サインインしてコメントする。

その他の回答 (1 件)

Arthur Goldsipe
Arthur Goldsipe 2013 年 9 月 10 日
編集済み: Arthur Goldsipe 2013 年 9 月 10 日
Hi Peter,
The "right" way to implement an upper limit or saturation really depends on how you want to physically model the effect. What should happen to any reactions that produce this species after it reaches saturation? Should these reactions "turn off"?
As Ingrid said, the most natural way to model saturation is probably using an event. From your comment to her answer, you may be happy creating an event that simply ensures that your species never exceeds the upper limit. However, because of the way that events are detected, this event will not do what you want unless you also "turn off" all reaction that produce it.
It also sounds like your model uses dimensional analysis and/or unit conversion. In that case, here's how you might implement the event:
Let's assume that the species you want to limit is named D, has units of mole/liter, and is in a compartment named C. Let's also assume that D is the product of a reaction with a rate constant K.
First, add a parameter (with units) to the model that sets the saturation limit, for example, DMax = 3.9e-6 mole/liter. Next, add an event with the trigger "D > DMax" and with TWO event functions "C.D = DMax" and "K = 0*K". The first function ensures that D is set back to saturation, while the second function ensure that the reaction producing D is turned off. Note that the trigger must be written using an INEQUALITY not an EQUALITY. Also, you'll ned to set the ConstantValue property of K to false so that you can change its value by an event.
Any more specific suggestions would require knowledge of your model, and as Ingrid said, would best be handled by contacting technical support.
-Arthur

カテゴリ

Help Center および File ExchangeBiotech and Pharmaceutical についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by