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

2 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Arthur Goldsipe
Arthur Goldsipe le 1 Déc 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 commentaire
Bernard
Bernard le 1 Déc 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Communautés

Plus de réponses dans  SimBiology Community

Catégories

En savoir plus sur Extend Modeling Environment dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by