mailRe: r8343 - in /branches/relax_disp: prompt/relax_disp.py specific_fns/relax_disp.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Sébastien Morin on June 02, 2009 - 20:37:
Hi,

This is a fairly old post, but I finally had time to think about these issues... Please see below...



Edward d'Auvergne wrote:
Hi,

Is the frequency for the reference spectrum necessary?  Isn't
cmpg_delayT set to zero in this case, i.e. the CPMG block is missing?
If it is necessary though, a value of None is probably a better choice
to identify it rather than the frequency of zero Hz.
I guess recording a reference for each frequency is necessary since the intensity is to be extracted and could vary when changing magnet (along with S/N)...

I agree for a value of None for the reference spectrum (which is what is presently in the code).


Another question I have is should the nu_cmpg value be given (with Hz
units), or would it be better if the omega_cmpg value was given (with
rad/s units)?  If nu_cmpg is given, this will have to be converted
later to omega.  I think we should have an explanation of both, after
the relevant model equations.  Also the 'frq' arg of
relax_disp.cpmg_frq() might be better named as nu_cmpg or omega_cmpg
for clarity if this is frequency or angular frequency.
For this part, I am not sure about the units to use... 'cpmg_frq' needs to be of the same units as 'kex' and 'dw' (see equations below). I guess 'kex' and 'dw' should be in rad/s, so 'cpmg_frq' should also be in rad/s...

Is it right ?

Depending on the answer, 'cpmg_frq' will be renamed (to either 'cpmg_nu' or 'cpmg_omega').

--------------------------

FAST EXCHANGE

                   /              /        kex       \    4 * cpmg_frq \
R2eff = R2 + Rex * | 1 - 2 * Tanh | ------------------ | * ------------- |
                   \              \ 2 * 4 * cpmg_frq /         kex     /

SLOW EXCHANGE
                   /     /      dw      \    4 * cpmg_frq \
R2eff = R2A + kA - | Sin | -------------- | * ------------- |
                   \     \ 4 * cpmg_frq /         dw      /

where cpmg_frq = 1 / ( 4 * cpmg_tau ).


Also note that
we have to convert the cmpg_delayT value too.  Unit analysis of the
equation

R2eff = ( 1 / T ) * Ln( Icpmg / Iref )

shows this.  R2 is in units of rad/s.  T is input in seconds.  1/T is
frequency in nu units of Hz.  Therefore we need to convert to the
radian units of angular frequency by multiplying by 2pi as 2pi/T is in
rad/s units.  The natural logarithm of peak intensities is unitless
and dimensionless.
I just had a look at the reference dataset included in the test suite (from Hansen et al., J. Phys. Chem., 2008)...

When treating the delay T as is (in seconds), I get the same values for R2eff as published in the paper (for the FF domain). However, if multiplying the delay T by 2pi, I get values for R2eff that a way too big.

I do not want to say that the logic behind unit analysis is deficient. I agree with that logic, but I also think that, in this case, the delay T should stay in seconds in order to get R2eff values of the good size...

What do you think ?

Regards,


Séb  :)

Regards,

Edward


On Thu, Jan 8, 2009 at 8:13 PM,  <sebastien.morin.1@xxxxxxxxx> wrote:
Author: semor
Date: Thu Jan  8 20:13:00 2009
New Revision: 8343

URL: http://svn.gna.org/viewcvs/relax?rev=8343&view=rev
Log:
Added the user function cpmg_frq() and added examples to the user function 
cpmg_delayT().


Modified:
   branches/relax_disp/prompt/relax_disp.py
   branches/relax_disp/specific_fns/relax_disp.py

Modified: branches/relax_disp/prompt/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/prompt/relax_disp.py?rev=8343&r1=8342&r2=8343&view=diff
==============================================================================
--- branches/relax_disp/prompt/relax_disp.py (original)
+++ branches/relax_disp/prompt/relax_disp.py Thu Jan  8 20:13:00 2009
@@ -62,6 +62,15 @@
        ~~~~~~~~~~~

        This user function allows the CPMG constant time delay (T) of a given 
experiment to be set.
+
+
+        Examples
+        ~~~~~~~~
+
+        To set a CPMG constant time delay T of 20 ms (0.020 s) for 
experiments '600', type:
+
+        relax> relax_disp.cpmg_delayT('600', 0.020)
+        relax> relax_disp.cpmg_delayT(id='600', delayT=0.020)
        """

        # Function intro text.
@@ -83,6 +92,39 @@
        relax_disp_obj.cpmg_delayT(id=id, delayT=delayT)


+    def cpmg_frq(self, frq=0, spectrum_id=None):
+        """Set the CPMG frequency associated with a given spectrum.
+
+        Keyword arguments.
+        ~~~~~~~~~~~~~~~~~~
+
+        frq:   The frequency, in Hz, of the CPMG pulse train.
+
+        spectrum_id:   The spectrum identification string.
+
+
+        Description
+        ~~~~~~~~~~~
+
+        This user function allows the CPMG pulse train frequency of a given 
spectrum to be set.
+        If a value of 0 is set for frequency, then the spectrum will be 
treated as a reference
+        spectrum.
+
+
+        Examples
+        ~~~~~~~~
+
+        To identify the reference spectrum called 'reference_spectrum', type:
+
+        relax> relax_disp.cpmg_frq(0, 'reference_spectrum')
+        relax> relax_disp.cpmg_frq(frq=0, spectrum_id='reference_spectrum')
+
+        To set a frequency of 200 Hz for the spectrum '200_Hz_spectrum', 
type:
+
+        relax> relax_disp.cpmg_frq(200, '200_Hz_spectrum')
+        relax> relax_disp.cpmg_frq(frq=200, spectrum_id='200_Hz_spectrum')
+
+
    def exp_type(self, exp='cpmg'):
        """Function for the selection of the relaxation dispersion 
experiments to analyse.


Modified: branches/relax_disp/specific_fns/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_fns/relax_disp.py?rev=8343&r1=8342&r2=8343&view=diff
==============================================================================
--- branches/relax_disp/specific_fns/relax_disp.py (original)
+++ branches/relax_disp/specific_fns/relax_disp.py Thu Jan  8 20:13:00 2009
@@ -173,7 +173,7 @@
    def cpmg_frq(self, frq=0, spectrum_id=None):
        """Set the CPMG frequency associated with a given spectrum.

-        @keyword frq:           The frequency, in Hz, of the CPMG train.
+        @keyword frq:           The frequency, in Hz, of the CPMG pulse 
train.
        @type frq:              int
        @keyword spectrum_id:   The spectrum identification string.
        @type spectrum_id:      str


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

This is the relax-commits mailing list
relax-commits@xxxxxxx

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://nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

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



--
Sébastien Morin
PhD Student
S. Gagné NMR Laboratory
Université Laval & PROTEO
Québec, Canada




Related Messages


Powered by MHonArc, Updated Fri Jun 19 01:01:08 2009