Hi,This is a fairly old post, but I finally had time to think about these issues... Please see below...
Edward d'Auvergne wrote:
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)...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 agree for a value of None for the reference spectrum (which is what is presently in the code).
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...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_cmpgfor clarity if this is frequency or angular frequency.
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 ).
I just had a look at the reference dataset included in the test suite (from Hansen et al., J. Phys. Chem., 2008)...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.
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