CellML Discussion List

Text archives Help


[cellml-discussion] unit conversion


Chronological Thread 
  • From: p.hunter at auckland.ac.nz (Peter Hunter)
  • Subject: [cellml-discussion] unit conversion
  • Date: Tue, 03 Jun 2008 11:35:15 +1200

Hi Mike,

I agree - but there they are in the SI base unit list
see http://physics.nist.gov/cuu/Units/units.html
so probably 150 years too late to do much about it!

Cheers,
Peter

Mike Cooling wrote:
> Does it strike anyone else as inconsistent that 'moles' are a unit when
> moles are just a scaling factor? Like dozen. Maybe they should be
> implemented using 'multiplier' or similar rather than a base unit.
>
> For example, I could have a mole of amps. I couldn't have a second of amps.
>
>
>
> -----Original Message-----
> From: cellml-discussion-bounces at cellml.org
> [mailto:cellml-discussion-bounces at cellml.org] On Behalf Of James Lawson
> Sent: Tuesday, 3 June 2008 11:07 a.m.
> To: Erik B
> Cc: cellml-discussion at cellml.org
> Subject: Re: [cellml-discussion] unit conversion
>
> Thanks Erik,
>
> I managed to fix the issue before receiving your email, but this clears
> things up for me very concisely. I would venture to say that the reason that
> so many CellML models in the CellML repository do not pass Jsim's units
> checking is not because of CellML, or any tools used to create CellML
> models. Rather it is often because the models themselves contain unit
> inconsistencies. It does not help that units are irrelevant to most
> modelling tools, but I think the modelling community is starting to raise
> the bar with regards to this issue. Unfortunately it is often quite
> difficult to 'fix' inappropriate units (both quantitatively and
> qualitatively,) in a model without breaking it.
>
> FYI I've uploaded the model in question, which now runs in Jsim, COR and
> PCEnv, at:
> http://www.cellml.org/models/sachse_moreno_abildskov_2008_version02
>
> The 'auto' setting for the integrator in Jsim will not run the model - the
> CVode integrator must be selected manually.
>
> Kind regards,
> James Lawson
>
> Erik Butterworth wrote:
>> On Thu, 29 May 2008, Andrew Miller wrote:
>>
>>> I think James had something more along the lines of:
>>> I_inter_fibro = 10^6 * (V_fibro - V) / R_mf (where 10^6 is marked as
>>> a dimensionless number).
>>>
>>> In this case the intention of the modeller is that the expression
>>> being equated to I_inter_fibro is already in nanoamps, and this will
>>> give the correct results in PCEnv and COR, I believe.
>>>
>>> I agree that it would be better modelling practice to mark 10^6 as
>>> being in units nanoamps per milliamps, and in this case PCEnv and COR
>>> will give correct results of 1E6 nanoamperes (and I presume also JSim?).
>> Short answer: yes.
>>
>> Long answer: JSim has two unit conversion modes, on and off. With
>> conversion on, the simplest correct formation in MML is
>>
>> 1. I_inter_fibro = (V_fibro - V) / R_mf;
>>
>> With unit conversion off, the simplest correct formation is:
>>
>> 2. I_inter_fibro = 10^6 * (V_fibro - V) / R_mf;
>>
>> With either unit conversion on or off, a dimensionalized constant
>> will produce correct results, at the expense of conciseness:
>>
>> 3. I_inter_fibro = (10^6 nanoamp/milliamp) * (V_fibro - V) / R_mf;
>>
>> To be compatible with (my understanding of) the CellML units spec,
>> JSim's CellML -> MML converter creates MML with unit conversion on.
>> However, due the the historically large (although perhaps decreasing)
>> number of CellML models that didn't pass JSim unit balance, the JSim
>> WWW site provides (for CellML models not passing unit balance) an
>> "imperfect" MML translation with unit conversion off. This allows the
>> models to be compiled and run, even if they may need conversion factor
>> editing. Even if the CellML model doesn't pass JSim unit balance, it
>> would still run correctly if all needed conversion factors were in the
>> CellML in form #3 above.
>>
>> Hope this helps,
>>
>> Erik B.
>>
>>
>>
>>> At least my reading of the CellML specification is that tools should
>>> not be automatically inserting conversion factors like this when
>>> processing CellML models, although they may optionally warn the user
>>> that a conversion factor may be missing and / or offer to insert it
>>> for them.
>>>
>>> Best regards,
>>> Andrew
>>>
>>>> Erik Butterworth butterw at u.washington.edu 206-685-2007
>>>>
>>>> On Thu, 29 May 2008, Andrew Miller wrote:
>>>>
>>>>> Date: Thu, 29 May 2008 11:29:50 +1200
>>>>> From: Andrew Miller <ak.miller at auckland.ac.nz>
>>>>> To: James Lawson <j.lawson at auckland.ac.nz>
>>>>> Cc: James Lawson <j.lawson at auckland.ac.nz>,
>>>>> butterw at u.washington.edu
>>>>> Subject: Re: unit conversion
>>>>>
>>>>> James Lawson wrote:
>>>>>> Hi Andrew, Justin,
>>>>>>
>>>>>> Thanks for your help. Basically, I've had to multiply a current by
>>>>>> a scaling factor of 1 million to get the model to run in PCEnv. It
>>>>>> was made in Jsim and worked fine, but now I have a model that will
>>>>>> run in PCEnv but not Jsim. Do you guys have any idea about what I
>>>>>> could do to get it running in both? Would showing you the model
>>>>>> help? I could email the Jsim guys and ask them if I knew what to
>>>>>> ask.. It seems like Jsim doesn't really convert nanoamps into
>>>>>> 10e-6 amps and work with the value from there, whereas PCEnv does.
>>>>>> Would this be right?
>>>>>>
>>>>>> Basically the issue that I have addressed is that units for the
>>>>>> variables in the equation for I_inter_fibro aren't dimensionally
>>>>>> equivalent:
>>>>>>
>>>>>> The equation is: I_inter_fibro =(V_fibro - V) / R_mf
>>>>>>
>>>>>> Where I_inter_fibro is in nanoamperes, V_fibro and V are in
>>>>>> millivolts and R_mf is in ohms. So the equation says that nanoamps
>>>>>> = millivolts / ohms. Thus I have changed the equation to say
>>>>>> I_inter_fibro = 1e+06 * (V_fibro - V) / R_mf
>>>>> Hi James,
>>>>>
>>>>> What are the units on the 1E6 scaling factor? If you put them in
>>>>> nanoamps_per_milliamp or something like that, then I think all
>>>>> software should do the right thing. Automatically inserting the
>>>>> conversion factor is not the correct software behaviour however; at
>>>>> most software should be flagging the problem and helping the user
>>>>> to insert the factor if they decide there is an actual problem.
>>>>>
>>>>> Best regards,
>>>>> Andrew
>>>>>
>>>>>> So at the moment I do not know how to get the model to run in both
>>>>>> PCEnv and Jsim. What I'll do is upload a variant of the model to
>>>>>> the repository with different curation notes, but ideally I should
>>>>>> be able to get one model that runs in both environments. This
>>>>>> looks like it might be a pretty persistent problem unfortunately.
>>>>>>
>>>>>> Thanks,
>>>>>> James
>>>>>>
>>>>>> Andrew Miller wrote:
>>>>>>> James Lawson wrote:
>>>>>>>> Hi guys,
>>>>>>>>
>>>>>>>> I was wondering if you might be able to help me out with a
>>>>>>>> curation issue. I've been working on a model that was tested in
>>>>>>>> Jsim that just wasn't producing the right results in PCEnv.
>>>>>>>> Finally I figured out that it was something to do with the
>>>>>>>> magnitude of a current being out by a factor of a million -
>>>>>>>> milli to nano. So obviously this is something to do with unit
>>>>>>>> conversions being applied in one tool and not the other. I was
>>>>>>>> under the impression that it was Jsim that doesn't apply units
>>>>>>>> conversions and PCEnv and COR that do - am I right here? I'm
>>>>>>>> worried that having fixed the model under PCEnv, I've broken it
>>>>>>>> under Jsim. Could you guys please explain here?
>>>>>>>>
>>>>>>>> I do have JSim on my computer but I'm unable to figure out how
>>>>>>>> to import a CellML file into it and run it.
>>>>>>> PCEnv carries out units conversions at the connections (so if you
>>>>>>> cannot something in millimol/L to something in nanomol/L it will
>>>>>>> convert for you; this is what the CellML specificatin requires).
>>>>>>> COR doesn't do this, and instead gives an error if you try to
>>>>>>> connect variables in diffferent units. I've heard that some
>>>>>>> versions of JSim try to actually change the maths to insert
>>>>>>> conversion factors in at the equation level - but I believe this
>>>>>>> is usually turned off.
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Andrew
>>>>>
>>>
>
>
> _______________________________________________
> cellml-discussion mailing list
> cellml-discussion at cellml.org
> http://www.cellml.org/mailman/listinfo/cellml-discussion
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p_hunter.vcf
Type: text/x-vcard
Size: 376 bytes
Desc: not available
Url :
http://www.cellml.org/pipermail/cellml-discussion/attachments/20080603/aee3c125/attachment.vcf





Archive powered by MHonArc 2.6.18.

Top of page