In SimBiology, can you change the Capacity of a compartment using an Event or Assignment (and still pass dimensional analysis)?
2 views (last 30 days)
Show older comments
The Help file suggests that this should be possible. I am trying this with set(CompartmentName, 'Capacity', ParameterName) as the event function. The compartment, CompartmentName, has the appropriate units and is not ConstantCapacity. The parameter, ParameterName, is scoped to the model and has appropriate units. Verification fails as dimensional analysis cannot cope with set(). I can work around this in an adequate manner generating a SimBiology model object through M code but I wanted to know if this can be performed using the sbiodesktop interface.
0 Comments
Accepted Answer
Arthur Goldsipe
on 1 Dec 2015
Hi Bernard,
Yes, it's possible to change the capacity of a compartment using an event or assignment. To do this, set the corresponding event function or rule expression to a string of the form Variable = Expression.
But let me give you a simple example here. Let's say that you have a compartment named myCompartment and a parameter named myParameter, both of which have units of liter. Then, you could change this compartment's capacity to whatever value is associated with the parameter using an event function or rule of the form myCompartment = myParameter. And as you already discovered, you will need to make sure the compartment capacity is not marked as constant if you want to change it with a repeated assignment rule or event.
-Arthur
More Answers (0)
Communities
More Answers in the SimBiology Community
See Also
Categories
Find more on Extend Modeling Environment in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!