In SimBiology, can you change the Capacity of a compartment using an Event or Assignment (and still pass dimensional analysis)?

1 view (last 30 days)
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.

Accepted Answer

Arthur Goldsipe
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.
You can find some example rules on this page and sample events on this page.
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
  1 Comment
Bernard
Bernard on 1 Dec 2015
Thank you, Arthur. I did not realise that the Capacity of a compartment was the value returned by CompartmentName, and instead I had been trying to address it as a property of the compartment. Simply switching the event function to CompartmentName = ParameterName allowed verification and the model to run.

Sign in to comment.

More Answers (0)

Communities

More Answers in the  SimBiology Community

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!