Cheers, I'll then leave commit r25161
(http://article.gmane.org/gmane.science.nmr.relax.scm/22911) in the
repository to allow the system test to pass.

Regards,

Edward


On 21 August 2014 12:02, Troels Emtekær Linnet <[email protected]> wrote:
> Hi Edward.
>
> We only need the R2eff file.
>
> I think I added some few graphs in "final" folder to document the new
> graphs in the manual.
>
> Best
> Troels
>
> 2014-08-21 10:16 GMT+02:00 Edward d'Auvergne <[email protected]>:
>> Hi Troels,
>>
>> Before I delete them, apart from the R2eff file do we need the results
>> files in the 
>> test_suite/shared_data/dispersion/Kjaergaard_et_al_2013/check_graphs/mc_2000/*/
>> directories?  These directories take up too much room, mainly because
>> of the interpolated Grace files in the final directory.  Is this
>> information required?  Or do you plan on using it in the future?
>>
>> Cheers,
>>
>> Edward
>>
>>
>> On 21 August 2014 10:02, Edward d'Auvergne <[email protected]> wrote:
>>> Hi Troels,
>>>
>>> I've now converted your code to handle the R1 parameter dynamically,
>>> so that is it part of the standard models.  Therefore the '* R1 fit'
>>> models have been removed.  Some parts using the MODEL_LIST_*_W_R1 and
>>> MODEL_LIST_*_FIT_R1 were a bit more complicated than expected to sort
>>> out.  But most things should now operate fine.  The
>>> Relax_disp.test_r1rho_kjaergaard_missing_r1 system test is still
>>> problematic as it is using the pre-run directory and loading the saved
>>> states of the models whereby R1 has not been optimised, rather than
>>> using model nesting as it should, but I should have a solution for
>>> that soon.  Anyway, this is only a small amount of work which uses the
>>> infrastructure you added to do everything.
>>>
>>> Regards,
>>>
>>> Edward
>>>
>>> On 20 August 2014 19:36, Troels Emtekær Linnet <[email protected]> 
>>> wrote:
>>>> Hi Edward.
>>>>
>>>> I trust that you know how to better plan programming than me.
>>>>
>>>> Please convert if you feel that this is a necessary step.
>>>>
>>>> Best
>>>> Troels
>>>>
>>>> 2014-08-20 19:25 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>>> I have just obliterated the wall.  I have implemented:
>>>>>
>>>>> 1)  The relax_disp.r1_fit user function
>>>>> (http://thread.gmane.org/gmane.science.nmr.relax.scm/22858).
>>>>> 2)  The specific_analyses.relax_disp.data.is_r1_optimsed() function
>>>>> for asking if we should optimise R1 or not
>>>>> (http://thread.gmane.org/gmane.science.nmr.relax.scm/22857).
>>>>> 3)  The specific_analyses.relax_disp.parameters.r1_setup() function
>>>>> for modifying the model parameter list as needed
>>>>> (http://thread.gmane.org/gmane.science.nmr.relax.scm/22859).
>>>>> 4)  Sent the r1_fit flag into the target function
>>>>> (http://thread.gmane.org/gmane.science.nmr.relax.scm/22866).
>>>>>
>>>>> As can be seen, the changes were rather simple.  There is only one
>>>>> brick remaining in the ruins of this wall, and that is simply using
>>>>> this functionality.  It would require using the r1_fit flag in the
>>>>> target function __init__() method to switch between target functions,
>>>>> and then removing the redundant '* R1 fit' models.  Should I remove
>>>>> the last brick and simplify the model list?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Edward
>>>>>
>>>>>
>>>>>
>>>>> On 20 August 2014 17:34, Edward d'Auvergne <[email protected]> wrote:
>>>>>> It's a thin wall that needs to be broken.  For the backend of the
>>>>>> relax_disp.select_model, we shouldn't do anything.  We make the
>>>>>> decision at the point of the grid_search() and minimise() API methods
>>>>>> if we should prefix the model parameter lists with R1.  As
>>>>>> grid_search() calls minimise(), then we do this once in minimise().
>>>>>> Even better would be in the
>>>>>> specific_analyses.relax_disp.optimisation.Disp_minimise_command class
>>>>>> just after the R1 data is assembled.
>>>>>>
>>>>>> We could create a new function called
>>>>>> specific_analyses.relax_disp.data.r1_optimisation() which decides if
>>>>>> R1 values are to be optimised.  This can be easily extended in the
>>>>>> future by someone else to handle CPMG data as well.  This function
>>>>>> returns True or False and this can be stored as the self.r1_fit flag
>>>>>> in Disp_minimise_command.  If self.r1_fit is True, we can then call
>>>>>> specific_analyses.relax_disp.parameters.prefix_r1() which adds the
>>>>>> required R1 parameters to the spin container 'param' list.  Then when
>>>>>> setting up the target function class in Disp_minimise_command.run(),
>>>>>> the self.r1_fit flag is sent in.  The target function class __init__()
>>>>>> method then uses the r1_fit flag to choose which target function
>>>>>> method will be aliased to self.func by adding an extra set of if
>>>>>> statements.  I.e. change:
>>>>>>
>>>>>>         if model == MODEL_DPL94:
>>>>>>             self.func = self.func_DPL94
>>>>>>         if model == MODEL_DPL94_FIT_R1:
>>>>>>             self.func = self.func_DPL94_fit_r1
>>>>>>
>>>>>> To:
>>>>>>
>>>>>>         if model == MODEL_DPL94:
>>>>>>             if r1_fit:
>>>>>>                 self.func = self.func_DPL94
>>>>>>             else:
>>>>>>                 self.func = self.func_DPL94_fit_r1
>>>>>>
>>>>>> The specific_analyses.relax_disp.data.r1_optimisation() function can
>>>>>> be called at any time that the R1 data is accessed, for example the
>>>>>> unpacking of the parameter values (though in this case the r1_fit flag
>>>>>> could be passed into the Disp_result_command to avoid this call).
>>>>>> That's pretty much it.  I don't think anything else is required.  Am I
>>>>>> missing something important?
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Edawrd
>>>>>>
>>>>>> On 20 August 2014 17:14, Troels Emtekær Linnet <[email protected]> 
>>>>>> wrote:
>>>>>>> Heh.
>>>>>>>
>>>>>>> I think I tried the solution you suggested.
>>>>>>>
>>>>>>> But I think you will run into several problems, that the parameters is
>>>>>>> no longer setup correct.
>>>>>>>
>>>>>>> The issuing of:
>>>>>>> relax_disp.select_model(model=MODEL)
>>>>>>>
>>>>>>> does "alot" of stuff.
>>>>>>>
>>>>>>> The problems starts about the initialisation of the dispersion class.
>>>>>>>
>>>>>>> One hits a wall of problems, which I surely cannot recommend.
>>>>>>>
>>>>>>> Best
>>>>>>> Troels
>>>>>>>
>>>>>>>
>>>>>>> 2014-08-20 17:07 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Not loading the R1 data and then fitting it is good, especially if it
>>>>>>>> is automatic.  As long as a RelaxWarning is printed out to inform the
>>>>>>>> user.  The target function switching is much simpler than the model
>>>>>>>> name translation.  For example simply send in a r1_fit flag to the
>>>>>>>> target function __init__() method and then add some more if statements
>>>>>>>> to the end of that method.  It would make it even more automatic from
>>>>>>>> the perspective of the user.
>>>>>>>>
>>>>>>>> As I said, you've already done the hard part.  The infrastructure you
>>>>>>>> added is there now for handling this.  You have implemented all
>>>>>>>> required target functions and associated functions for handling the R1
>>>>>>>> fitting.  The changes we are discussing are trivial in comparison.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>>
>>>>>>>> Edward
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 20 August 2014 16:56, Troels Emtekær Linnet <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>> Hi Edward.
>>>>>>>>>
>>>>>>>>> I actually think it is a quite elegant solution, that if one does not
>>>>>>>>> load R1 data, then the R1 parameter is fitted.
>>>>>>>>>
>>>>>>>>> I think it is a better solution than the previous suggestion.
>>>>>>>>>
>>>>>>>>> It involves less coding, and the logic is sound.
>>>>>>>>>
>>>>>>>>> And the system is still "open" for weird stuff, whereby you by
>>>>>>>>> scripting can analyse with and without fitting R1 in same analyses.
>>>>>>>>>
>>>>>>>>> I think this is best.
>>>>>>>>>
>>>>>>>>> But in the end. Potato, tomato.
>>>>>>>>> If this solution prevents any further implementation, then this could
>>>>>>>>> also be done.
>>>>>>>>>
>>>>>>>>> Best
>>>>>>>>> Troels
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014-08-20 16:48 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>>>>>>>> An easy system test would be to load a set of CPMG data and a set of
>>>>>>>>>> R1rho data, and then see if this can be analysed assuming no exchange
>>>>>>>>>> via the 'No Rex' models.  There are no other models for this yet, but
>>>>>>>>>> it would show what is missing.  You've added the infrastructure which
>>>>>>>>>> is the hardest part.  What remains to allow this is actually not much
>>>>>>>>>> at all now that the infrastructure is in place.  Just a bit of gluing
>>>>>>>>>> code.
>>>>>>>>>>
>>>>>>>>>> On a related note, what is your opinion on the suggestions you made 
>>>>>>>>>> in
>>>>>>>>>> sr #3135 at https://gna.org/support/?3135#comment0 "Optimisation of
>>>>>>>>>> the R1 relaxation rate for the off-resonance R1rho relaxation
>>>>>>>>>> dispersion models."?  Namely that we let the user choose if R1 values
>>>>>>>>>> are optimised or not for off-resonance data, whether or not R1 values
>>>>>>>>>> were loaded.  So then the '* R1 fit' models are merged into the
>>>>>>>>>> non-fitted models, and the target function switching occurs without
>>>>>>>>>> the user knowing.  You should note that the target function switching
>>>>>>>>>> is far simpler than the current model name translation system.  It
>>>>>>>>>> just requires a few more if statements at the end of the target
>>>>>>>>>> function __init__() method to alias the correct self.func_*() method.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>>>>>>>> Edward
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 20 August 2014 16:36, Troels Emtekær Linnet 
>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>> Hi Edward.
>>>>>>>>>>>
>>>>>>>>>>> I think I in the start tried following this path.
>>>>>>>>>>>
>>>>>>>>>>> But I realised with all the "R1 fit" models, that the very 
>>>>>>>>>>> important,
>>>>>>>>>>> relax_disp.select_model(model)
>>>>>>>>>>>
>>>>>>>>>>> setup all information for this model.
>>>>>>>>>>>
>>>>>>>>>>> As this was also a new model implementation, I also wanted the
>>>>>>>>>>> flexibility to be able to select the desired model, and
>>>>>>>>>>> be able to compare.
>>>>>>>>>>>
>>>>>>>>>>> I would suggest that this functionality is not digged further down 
>>>>>>>>>>> the
>>>>>>>>>>> code, before more experience is collected.
>>>>>>>>>>>
>>>>>>>>>>> Best
>>>>>>>>>>> Troels
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2014-08-20 16:22 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> What would be even more powerful would be to shift this 
>>>>>>>>>>>> functionality
>>>>>>>>>>>> even deeper down and merging the 'No Rex' and 'No Rex R1rho off 
>>>>>>>>>>>> res'
>>>>>>>>>>>> models into one, just as the 'R2eff' model covers both the 
>>>>>>>>>>>> exponential
>>>>>>>>>>>> curve-fitting via minimisation and the two-point approximation by
>>>>>>>>>>>> calculation.  Rather than switching the model name for the user, 
>>>>>>>>>>>> the
>>>>>>>>>>>> target function can be switched.  The 'No Rex R1 fit' model could 
>>>>>>>>>>>> then
>>>>>>>>>>>> be created (by simply renaming 'No Rex R1rho off res R1 fit') and 
>>>>>>>>>>>> this
>>>>>>>>>>>> would then eventually handle CPMG data as well.
>>>>>>>>>>>>
>>>>>>>>>>>> The reason for this is simple.  In the future, certain interested
>>>>>>>>>>>> parties (you probably know who) plans on developing a combined CPMG
>>>>>>>>>>>> and R1rho model and on analysing this data together.  This will 
>>>>>>>>>>>> need a
>>>>>>>>>>>> 'No Rex' model for statistical comparisons.  The splitting of 'No 
>>>>>>>>>>>> Rex'
>>>>>>>>>>>> into two models as is currently coded is incompatible with this.  A
>>>>>>>>>>>> 'No Rex' model which has a loop over experiment types "for ei in
>>>>>>>>>>>> range(self.NE):" switching to the different functionality would be 
>>>>>>>>>>>> a
>>>>>>>>>>>> better solution.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>>
>>>>>>>>>>>> Edward
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 20 August 2014 16:09,  <[email protected]> wrote:
>>>>>>>>>>>>> Author: tlinnet
>>>>>>>>>>>>> Date: Wed Aug 20 16:09:40 2014
>>>>>>>>>>>>> New Revision: 25100
>>>>>>>>>>>>>
>>>>>>>>>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=25100&view=rev
>>>>>>>>>>>>> Log:
>>>>>>>>>>>>> Made the GUI selection of models for relaxation dispersion more 
>>>>>>>>>>>>> simple.
>>>>>>>>>>>>>
>>>>>>>>>>>>> After the implementation of a function which will translate the 
>>>>>>>>>>>>> models, the
>>>>>>>>>>>>> 'No Rex' model will be converted to the 'No Rex' model for R1rho 
>>>>>>>>>>>>> off-resonance.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Also the corresponding 'R1 fit' model will be chosen istead, if 
>>>>>>>>>>>>> R1 data has not been loaded.
>>>>>>>>>>>>>
>>>>>>>>>>>>> This makes the model selection easier in the GUI interface.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Modified:
>>>>>>>>>>>>>     trunk/gui/analyses/auto_relax_disp.py
>>>>>>>>>>>>>
>>>>>>>>>>>>> Modified: trunk/gui/analyses/auto_relax_disp.py
>>>>>>>>>>>>> URL: 
>>>>>>>>>>>>> http://svn.gna.org/viewcvs/relax/trunk/gui/analyses/auto_relax_disp.py?rev=25100&r1=25099&r2=25100&view=diff
>>>>>>>>>>>>> ==============================================================================
>>>>>>>>>>>>> --- trunk/gui/analyses/auto_relax_disp.py       (original)
>>>>>>>>>>>>> +++ trunk/gui/analyses/auto_relax_disp.py       Wed Aug 20 
>>>>>>>>>>>>> 16:09:40 2014
>>>>>>>>>>>>> @@ -715,8 +715,8 @@
>>>>>>>>>>>>>          MODEL_R2EFF,
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>          MODEL_NOREX,
>>>>>>>>>>>>> -        MODEL_NOREX_R1RHO,
>>>>>>>>>>>>> -        MODEL_NOREX_R1RHO_FIT_R1,
>>>>>>>>>>>>> +#        MODEL_NOREX_R1RHO,
>>>>>>>>>>>>> +#        MODEL_NOREX_R1RHO_FIT_R1,
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>          MODEL_LM63,
>>>>>>>>>>>>>          MODEL_LM63_3SITE,
>>>>>>>>>>>>> @@ -735,15 +735,15 @@
>>>>>>>>>>>>>          MODEL_M61,
>>>>>>>>>>>>>          MODEL_M61B,
>>>>>>>>>>>>>          MODEL_DPL94,
>>>>>>>>>>>>> -        MODEL_DPL94_FIT_R1,
>>>>>>>>>>>>> +#        MODEL_DPL94_FIT_R1,
>>>>>>>>>>>>>          MODEL_TP02,
>>>>>>>>>>>>> -        MODEL_TP02_FIT_R1,
>>>>>>>>>>>>> +#        MODEL_TP02_FIT_R1,
>>>>>>>>>>>>>          MODEL_TAP03,
>>>>>>>>>>>>> -        MODEL_TAP03_FIT_R1,
>>>>>>>>>>>>> +#        MODEL_TAP03_FIT_R1,
>>>>>>>>>>>>>          MODEL_MP05,
>>>>>>>>>>>>> -        MODEL_MP05_FIT_R1,
>>>>>>>>>>>>> +#        MODEL_MP05_FIT_R1,
>>>>>>>>>>>>>          MODEL_NS_R1RHO_2SITE,
>>>>>>>>>>>>> -        MODEL_NS_R1RHO_2SITE_FIT_R1,
>>>>>>>>>>>>> +#        MODEL_NS_R1RHO_2SITE_FIT_R1,
>>>>>>>>>>>>>          MODEL_NS_R1RHO_3SITE_LINEAR,
>>>>>>>>>>>>>          MODEL_NS_R1RHO_3SITE,
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>> @@ -756,8 +756,8 @@
>>>>>>>>>>>>>          "{%s/%s, %s}" % (r2eff, r1rho, i0),
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>          "{%s, ...}" % (r2),
>>>>>>>>>>>>> -        "{%s, ...}" % (r2),
>>>>>>>>>>>>> -        "{%s, %s, ...}" % (r1, r2),
>>>>>>>>>>>>> +#        "{%s, ...}" % (r2),
>>>>>>>>>>>>> +#        "{%s, %s, ...}" % (r1, r2),
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>          "{%s, ..., %s, %s}" % (r2, phi_ex, kex),
>>>>>>>>>>>>>          "{%s, ..., %s, kB, %s, kC}" % (r2, phi_exB, phi_exC),
>>>>>>>>>>>>> @@ -776,15 +776,15 @@
>>>>>>>>>>>>>          "{%s, ..., %s, %s}" % (r1rho_prime, phi_ex, kex),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
>>>>>>>>>>>>>          "{%s, ..., %s, %s}" % (r1rho_prime, phi_ex, kex),
>>>>>>>>>>>>> -        "{%s, %s, ..., %s, %s}" % (r1, r1rho_prime, phi_ex, kex),
>>>>>>>>>>>>> +#        "{%s, %s, ..., %s, %s}" % (r1, r1rho_prime, phi_ex, 
>>>>>>>>>>>>> kex),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
>>>>>>>>>>>>> -        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
>>>>>>>>>>>>> +#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, 
>>>>>>>>>>>>> kex),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
>>>>>>>>>>>>> -        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
>>>>>>>>>>>>> +#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, 
>>>>>>>>>>>>> kex),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
>>>>>>>>>>>>> -        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
>>>>>>>>>>>>> +#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, 
>>>>>>>>>>>>> kex),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s}" % (r1rho_prime, dw, kex),
>>>>>>>>>>>>> -        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, kex),
>>>>>>>>>>>>> +#        "{%s, %s, ..., pA, %s, %s}" % (r1, r1rho_prime, dw, 
>>>>>>>>>>>>> kex),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s, pB, %s, %s}" % (r1rho_prime, 
>>>>>>>>>>>>> dw_AB, kAB, dw_BC, kBC),
>>>>>>>>>>>>>          "{%s, ..., pA, %s, %s, pB, %s, %s, %s}" % (r1rho_prime, 
>>>>>>>>>>>>> dw_AB, kAB, dw_BC, kBC, kAC),
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>> @@ -797,8 +797,8 @@
>>>>>>>>>>>>>          "The base model for determining the %s/%s values and 
>>>>>>>>>>>>> errors for all other models." % (r2eff, r1rho),
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>          "The model for no chemical exchange relaxation.",
>>>>>>>>>>>>> -        "The model for no chemical exchange being present, for 
>>>>>>>>>>>>> off-resonance R1rho-type experiments.  R1rho = R1 * cos(theta)^2 
>>>>>>>>>>>>> + r1rho_prime * sin(theta)^2.",
>>>>>>>>>>>>> -        "The model for no chemical exchange being present, for 
>>>>>>>>>>>>> off-resonance R1rho-type experiments whereby R1 is fit.  R1rho = 
>>>>>>>>>>>>> R1 * cos(theta)^2 + r1rho_prime * sin(theta)^2.",
>>>>>>>>>>>>> +#        "The model for no chemical exchange being present, for 
>>>>>>>>>>>>> off-resonance R1rho-type experiments.  R1rho = R1 * cos(theta)^2 
>>>>>>>>>>>>> + r1rho_prime * sin(theta)^2.",
>>>>>>>>>>>>> +#        "The model for no chemical exchange being present, for 
>>>>>>>>>>>>> off-resonance R1rho-type experiments whereby R1 is fit.  R1rho = 
>>>>>>>>>>>>> R1 * cos(theta)^2 + r1rho_prime * sin(theta)^2.",
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>          "The original Luz and Meiboom (1963) 2-site fast 
>>>>>>>>>>>>> exchange equation.",
>>>>>>>>>>>>>          "The original Luz and Meiboom (1963) 3-site fast 
>>>>>>>>>>>>> exchange equation.",
>>>>>>>>>>>>> @@ -817,15 +817,15 @@
>>>>>>>>>>>>>          "The Meiboom (1961) 2-site fast exchange equation.",
>>>>>>>>>>>>>          "The Meiboom (1961) 2-site equation for all time scales 
>>>>>>>>>>>>> with pA >> pB.",
>>>>>>>>>>>>>          "The Davis, Perlman and London (1994) 2-site fast 
>>>>>>>>>>>>> exchange equation.",
>>>>>>>>>>>>> -        "The Davis, Perlman and London (1994) 2-site fast 
>>>>>>>>>>>>> exchange equation, whereby R1 is fit.",
>>>>>>>>>>>>> +#        "The Davis, Perlman and London (1994) 2-site fast 
>>>>>>>>>>>>> exchange equation, whereby R1 is fit.",
>>>>>>>>>>>>>          "The Trott and Palmer (2002) 2-site equation for all 
>>>>>>>>>>>>> time scales.",
>>>>>>>>>>>>> -        "The Trott and Palmer (2002) 2-site equation for all 
>>>>>>>>>>>>> time scales, whereby R1 is fit.",
>>>>>>>>>>>>> +#        "The Trott and Palmer (2002) 2-site equation for all 
>>>>>>>>>>>>> time scales, whereby R1 is fit.",
>>>>>>>>>>>>>          "The Trott, Abergel and Palmer (2003) off-resonance 
>>>>>>>>>>>>> 2-site equation for all time scales.",
>>>>>>>>>>>>> -        "The Trott, Abergel and Palmer (2003) off-resonance 
>>>>>>>>>>>>> 2-site equation for all time scales, whereby R1 is fit.",
>>>>>>>>>>>>> +#        "The Trott, Abergel and Palmer (2003) off-resonance 
>>>>>>>>>>>>> 2-site equation for all time scales, whereby R1 is fit.",
>>>>>>>>>>>>>          "The Miloushev and Palmer (2005) off-resonance 2-site 
>>>>>>>>>>>>> equation for all time scales.",
>>>>>>>>>>>>> -        "The Miloushev and Palmer (2005) off-resonance 2-site 
>>>>>>>>>>>>> equation for all time scales, whereby R1 is fit.",
>>>>>>>>>>>>> +#        "The Miloushev and Palmer (2005) off-resonance 2-site 
>>>>>>>>>>>>> equation for all time scales, whereby R1 is fit.",
>>>>>>>>>>>>>          "The 2-site numerical solution using 3D magnetisation 
>>>>>>>>>>>>> vectors.",
>>>>>>>>>>>>> -        "The 2-site numerical solution using 3D magnetisation 
>>>>>>>>>>>>> vectors, whereby R1 is fit.",
>>>>>>>>>>>>> +#        "The 2-site numerical solution using 3D magnetisation 
>>>>>>>>>>>>> vectors, whereby R1 is fit.",
>>>>>>>>>>>>>          "The 3-site linearised numerical solution using 3D 
>>>>>>>>>>>>> magnetisation vectors.",
>>>>>>>>>>>>>          "The 3-site numerical solution using 3D magnetisation 
>>>>>>>>>>>>> vectors.",
>>>>>>>>>>>>>          None,
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> relax (http://www.nmr-relax.com)
>>>>>>>>>>>>>
>>>>>>>>>>>>> This is the relax-commits mailing list
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>
>>>>>>>>>>>>> To unsubscribe from this list, get a password
>>>>>>>>>>>>> reminder, or change your subscription options,
>>>>>>>>>>>>> visit the list information page at
>>>>>>>>>>>>> https://mail.gna.org/listinfo/relax-commits
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> relax (http://www.nmr-relax.com)
>>>>>>>>>>>>
>>>>>>>>>>>> This is the relax-devel mailing list
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>
>>>>>>>>>>>> To unsubscribe from this list, get a password
>>>>>>>>>>>> reminder, or change your subscription options,
>>>>>>>>>>>> visit the list information page at
>>>>>>>>>>>> https://mail.gna.org/listinfo/relax-devel

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to