mailRe: CST branch


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

Header


Content

Posted by Edward d'Auvergne on September 29, 2010 - 10:53:
Hi,

This is the perfect approach.  It will abstract the calculations so
that we will not need to touch many of maths_fns modules.  With this
code in place, I would aim at then making the test suite pass again by
having the correct data structures pass into maths_fns.mf.  The last
step would be to input CSA tensors and the multi-dipole interactions
via user functions.  If you make a patch for all of the func_*(),
dfunc_*(), and d2func_*() methods, I can check and apply it quickly.

Regards,

Edward


On 28 September 2010 12:07, Pavel Kaderavek <pavel.kaderavek@xxxxxxxxx> wrote:
Hi,
we were thinking about next necessary changes in the CST branch.

Now we need to break through the problem, which implies the fact we split
the relaxation rate calculation into contributions of individual
interactions. Each of them has its own data class to store its parameters
(so far called data[i][j], where the [i] was a spin index and [j] was the
interaction index).

It seems to us, that it the best way to deal with it is to edit functions:
func_mf, func_local_tm , func_diff, func_all and their equivalents for a
first and second derivatives (defined in mf.py file).

Within these functions the calculations of direction cosines, diffusion
tensor weight calculations, components of the spectral densities and so on
are performed. All these must be calculated for each interaction separately,
because each interaction has its own data storage (which replaced previously
used one data class container for the whole IS spin system).

Instead of:


        # Direction cosine calculations.
        if self.diff_data.calc_di:
            self.diff_data.calc_di(data, self.diff_data)

        # Diffusion tensor weight calculations.
        self.diff_data.calc_ci(data, self.diff_data)

        # Diffusion tensor correlation times.
        self.diff_data.calc_ti(data, self.diff_data)

        # Calculate the components of the spectral densities.
        if data.calc_jw_comps:
            data.calc_jw_comps(data, params)

        # Calculate the R1, R2, and sigma_noe values.
        data.ri_prime = data.create_ri_prime(data)


we would suggest to introduce a loop over interacations
        for j in xrange(self.num_interactions[i]):
            # Direction cosine calculations.
            if self.diff_data.calc_di:
                self.diff_data.calc_di(data[j], self.diff_data)

            # Diffusion tensor weight calculations.
            self.diff_data.calc_ci(data[j], self.diff_data)

            # Diffusion tensor correlation times.
            self.diff_data.calc_ti(data[j], self.diff_data)

            # Calculate the components of the spectral densities.
            if data.calc_jw_comps:
                data.calc_jw_comps(data[j], params)

            # Calculate the R1, R2, and sigma_noe components.
            data.ri_prime = data.create_ri_prime(data[j])


It must be accompanied in the next step by a change the ri_prime function so
that it just calculate only a product of specific interaction constant and
corresponding linear combination of spectral densities. While the final
sumation over all interactions should be done in a separate step.

Moreover it will be also necessary to distinguish within the function
setup_equation the type of equation used for contribution of individual
interactions according to their type.

Best
Pavel


On 10 September 2010 15:43, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:

Hi Pavel,

I missed it in the patches, but there were tab characters '\t' causing
problems.  These are now fixed.  relax requires that a tab is replaced
by 4 spaces.  I have also added you to the copyright notices
(http://svn.gna.org/viewcvs/relax?view=rev&revision=11543) of the
files you have modified.

Regards,

Edward

On 10 September 2010 15:36, Edward d'Auvergne <edward@xxxxxxxxxxxxx>
wrote:
Hi,

I've carefully checked the patches and committed them with the
messages you wrote.  Sorry again for the delays.  It should be faster
now that I am no longer in the tropical wilderness of far north
Australia.

Regards,

Edward


On 6 September 2010 13:23, Edward d'Auvergne <edward@xxxxxxxxxxxxx>
wrote:
Hi Pavel,

Sorry for the delayed response.  I was at the ICMRBS conference in
Australia and then travelled through the tropical north end of
Australia afterwards.  I came back yesterday out of the remote
wilderness and can soon start looking at this patches.

Regards,

Edward


On 31 August 2010 18:00, Pavel Kaderavek <pavel.kaderavek@xxxxxxxxx>
wrote:
Hi,

some time ago, we submitted two patches regarding CST branch. We are
not
sure if we should wait for some additional comment from your side, or
we can
continue with introducing further changes in the code.
Next step would be a splitting of the relaxation equation so that
contribution to the relaxation due to the individual types of
interaction
(dipole-dipole, CSA) can be calculated separately.


Regars,

Pavel, Petr








Related Messages


Powered by MHonArc, Updated Thu Sep 30 07:20:20 2010