Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An unit of the kinetic rate constant on surface #23

Closed
kaizu opened this issue Jun 5, 2018 · 3 comments
Closed

An unit of the kinetic rate constant on surface #23

kaizu opened this issue Jun 5, 2018 · 3 comments
Assignees
Labels
invalid This doesn't seem right

Comments

@kaizu
Copy link
Member

kaizu commented Jun 5, 2018

The unit system expects all reactions happens in volume now. The second order reaction on surface should have a rate with unit [1/(substance/length**2)/sec] rather than [1/(substance/length**3)/sec].

@kaizu kaizu self-assigned this Jun 5, 2018
@kaizu
Copy link
Member Author

kaizu commented Jun 15, 2018

This requires for users to give the dimension of Species like:

with species_attributes():
    A | B | C | {'dimension': 2}

with reaction_rules():
    A + B > C | k

@kaizu kaizu transferred this issue from ecell/ecell4_base Feb 15, 2019
@kaizu kaizu added invalid This doesn't seem right wontfix This will not be worked on and removed wontfix This will not be worked on labels Feb 15, 2019
@kaizu
Copy link
Member Author

kaizu commented Jun 18, 2019

#56 would fix this problem.

from ecell4 import *
from ecell4_base.core import Quantity_Integer, Quantity_Real

with species_attributes():
    A | B | C | {}
    D | {'location': 'M'}
    M | {'dimension': 2, 'structure': True}
    
with reaction_rules():
    A + B > C | Quantity_Real(0.01, 'um**3/item/s')
    A + M > D | Quantity_Real(1.0, 'um/s')
    A > B | Quantity_Real(1.0, 'item/s') * A / (Quantity_Integer(120, 'item') + A)

m = get_model()

from ecell4.extra.unit_checker import check_units
check_units(m)  # Nothing would occur

@kaizu kaizu closed this as completed Jun 18, 2019
@kaizu
Copy link
Member Author

kaizu commented Jun 18, 2019

Here is the MinDE model:

with species_attributes():
    Cytoplasm | {'dimension': Q_(3, 'dimensionless'), 'structure': True}
    Membrane | {'dimension': Q_(2, 'dimensionless'), 'location': 'Cytoplasm', 'structure': True}
    MinDatp | MinDadp | {'D': Q_(16.0, 'um**2/s'), 'location': 'Cytoplasm'}
    MinEE_C | {'D': Q_(10.0, 'um**2/s'), 'location': 'Cytoplasm'}
    MinD | MinEE_M | MinDEE | MinDEED | {'D': Q_(0.02, 'um**2/s'), 'location': 'Membrane'}
    
with reaction_rules():
    Membrane + MinDatp > MinD | Q_(0.022, 'um/s')
    MinD + MinDatp > MinD + MinD | Q_(0.03, 'um**3/item/s')
    MinD + MinEE_C > MinDEE | Q_(0.5, 'um**3/item/s')
    MinDEE > MinEE_M + MinDadp | Q_(1.0, '1/s')
    MinDadp > MinDatp | Q_(5.0, '1/s')
    MinDEE + MinD > MinDEED | Q_(5e-15, 'm**2/item/s')  # 5000 um**3/s
    MinDEED > MinDEE + MinDadp | Q_(1.0, '1/s')
    MinEE_M > MinEE_C | Q_(0.83, '1/s')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

1 participant