필터 지우기
필터 지우기

unit dimensional analysis problems

조회 수: 11 (최근 30일)
Lo
Lo 2023년 9월 18일
댓글: Arthur Goldsipe 2023년 9월 20일
I am tyring to build a model using irreversible and reversible mass action kinetics (Matlab R2023a). My species units are all in molarity and I follow the reaction rate constant units of paper.However, Simbiology repeatedly fails dimensional analysis and give me those two error meeage:
'Quantities of different dimensions cannot be added or subtracted'
'Reaction rate units should result in dimensions of either concentration/time or substance/time'
for the first one error message My reactions are all quite straight forward:
A + 5 B <-> AB ( kf : 1/molarity*second , kr : 1/second)
for second error message the reaction is like this:
FGUvsXcD + 9 ATP -> 9 FD + 9 UvsX + 9 AMP + 9 PPi ( kf :1/second)
I had tried to adject the units and follow instruction from the manual but still the same error.
so I don't understand why this is causing such problems.

답변 (2개)

Arthur Goldsipe
Arthur Goldsipe 2023년 9월 18일
If your reactions are using mass action kinetics, then the units you report for "kf" are not correct. For the first reaction, the forward rate will be kf*[A]*[B]^5. Note the exponent of 5. So I would expect kf to have units of 1/(molarity^5*second).
If that doesn't solve your problem, can you share the project or code that reproduces the issue? It's often difficult to diagnose what's going on without reproduction steps.

Lo
Lo 2023년 9월 19일
편집: Lo 2023년 9월 19일
I followed your advice to adjust the units, and the good news is that it works through dimensional analysis. However, I have a few questions:
  1. Does the unit conversion affect the calculations of the model? For example, if the unit of 'kf' changes from 1/molaritysecond to 1/molarity^5second.
  2. After the adjustments, the ODEs are divided by the compartment volume. Is there a way to prevent the ODEs from being divided by the compartment volume? Will the ODEs still be correct without this division?
the ODEs look like this :
Best regards
Eric
  댓글 수: 3
Lo
Lo 2023년 9월 20일
I still don't quite understand. So, if I change the units of kf to 1 / (molarity^5 * second), it will affect the simulation. How should I adjust it to make the simulation match the simulation when kf is in units of (1 / molarity * second)?"
Best regards
Eric
Arthur Goldsipe
Arthur Goldsipe 2023년 9월 20일
You can't, for the mass action kinetics you've specified. The units on the rate constant are constrained by the form of the reaction rate.
Your question makes me wonder if you have made a mistake in how you chose to model this reaction and its rate. kf units of 1/(molarity*second) are associated with a bimolecular mass action reaction like "A + B -> AB".
When you choose to model the reaction "A + 5 B -> AB" with mass action kinetics, the reaction rate is "kf*A*B^5". Furthermore, the dimensions of this reaction rate must either be concentration/time (for example, molarity/second) or amount/time (for example, mole/second). Since you seem to be working in concentrations, I assume you want A and B to have units of molarity and the reaction rate to have units of molarity/second. And this is how I "derived" that the units of kf needed to be 1/(molarity^5*second).

댓글을 달려면 로그인하십시오.

커뮤니티

더 많은 답변 보기:  SimBiology Community

카테고리

Help CenterFile Exchange에서 Extend Modeling Environment에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by