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 April 06, 2010 - 09:41:
Hi,

I am testing this patch now.  In the future, I would suggest to attach
files to the task for this project at https://gna.org/task/?6397.
This stops the patch from being amplified across the internet by being
sent to many recipients and being archived across the web (i.e. at
http://www.mail-archive.com/relax-devel@xxxxxxx/,
https://mail.gna.org/public/relax-devel/, etc.).

Ok, trying to apply the patch failed.  I received the following messages:

[edward@localhost cst]$ patch -p0 < patch00001
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur cst_orig/maths_fns/direction_cosine.py
cst/maths_fns/direction_cosine.py
|--- cst_orig/maths_fns/direction_cosine.py     2010-03-30
20:13:34.000000000 +0200
|+++ cst/maths_fns/direction_cosine.py  2010-03-30 21:12:32.000000000 +0200
--------------------------
File to patch:

So I've manually specified the files to be patched.  This is avoided
by modifying a clean copy of your 'cst' branch.  You can then type:

$ svn diff > patch00002

This will result in a patch that is easier to apply.  The second thing
is that I would recommend splitting this into two patches - the first
is simply the renaming of data.xh_unit_vector to data.unit_vector, the
second being the looping over the 'data' data structure.  Commits to
the repository should be performed in small changes.  That way if a
better solution than looping over the 'data' data structure is found,
that small change can be reverted without removing the
data.xh_unit_vector change.  I can also check each change with the
relax test suite to find any problems with the code.

Lastly, the relax test suite fails with this patch.  This is caused by
the 'data' data structure not being set up correctly for this new
design.  This will require an extra loop at about line 243 of the
maths_fns/mf.py file (in the __init__() method).  This loop is for
looping over the physical interactions.  A self.data.append([]) line
above it will be required to turn 'self.data' into a list of lists,
where the first dimension is the spins and the second is the physical
interactions.  I.e. 'self.data[0][2]' is the data for the first of the
3rd physical interaction.  We should discuss how to set this up and
how to pass the relevant data into the Mf class.  Do you have any
ideas?

Cheers,

Edward




On 1 April 2010 18:17, Pavel Kaderavek <kada@xxxxxxxxxxxxx> wrote:
Hi, I tried to make a patch of first already pre-discussed changes in CST
branch of 1.3 line . According to the manual I am sending the patch file and
I created commit-log message below this text (I hope I understood the
instructions correctly).
Pavel

task#6397

kada _at_ chemi _dot_ muni _dot_ cz

This is a first attempt of change in CST branch, it includes change of name
xh_unit_vector to more general name unit_vector
Added loop over loaded interaction vectors.
Discussed in
Message-ID:
<7f080ed11003251002s1f450015qc768bd4e7a4d3c71@xxxxxxxxxxxxxx >

diff -ur cst_orig/maths_fns/direction_cosine.py
cst/maths_fns/direction_cosine.py
--- cst_orig/maths_fns/direction_cosine.py    2010-03-30 20:13:34.000000000
+0200
+++ cst/maths_fns/direction_cosine.py    2010-03-30 21:12:32.000000000 +0200
@@ -61,7 +61,7 @@
     diff_data.dpar[2] = diff_data.cos_theta

     # Direction cosine.
-    data.dz = dot(data.xh_unit_vector, diff_data.dpar)
+    data.dz = dot(data.unit_vector, diff_data.dpar)



@@ -97,8 +97,8 @@
     diff_data.dpar_dphi[2] = 0.0

     # Direction cosine gradient.
-    data.ddz_dO[0] = dot(data.xh_unit_vector, diff_data.dpar_dtheta)
-    data.ddz_dO[1] = dot(data.xh_unit_vector, diff_data.dpar_dphi)
+    data.ddz_dO[0] = dot(data.unit_vector, diff_data.dpar_dtheta)
+    data.ddz_dO[1] = dot(data.unit_vector, diff_data.dpar_dphi)



@@ -145,9 +145,9 @@
     diff_data.dpar_dphi2[2] = 0.0

     # Direction cosine Hessian.
-    data.d2dz_dO2[0, 0] = dot(data.xh_unit_vector, diff_data.dpar_dtheta2)
-    data.d2dz_dO2[0, 1] = data.d2dz_dO2[1, 0] = dot(data.xh_unit_vector,
diff_data.dpar_dthetadphi)
-    data.d2dz_dO2[1, 1] = dot(data.xh_unit_vector, diff_data.dpar_dphi2)
+    data.d2dz_dO2[0, 0] = dot(data.unit_vector, diff_data.dpar_dtheta2)
+    data.d2dz_dO2[0, 1] = data.d2dz_dO2[1, 0] = dot(data.unit_vector,
diff_data.dpar_dthetadphi)
+    data.d2dz_dO2[1, 1] = dot(data.unit_vector, diff_data.dpar_dphi2)



@@ -230,9 +230,9 @@
     diff_data.dz[2] =  data.cos_b

     # Direction cosines.
-    data.dx = dot(data.xh_unit_vector, diff_data.dx)
-    data.dy = dot(data.xh_unit_vector, diff_data.dy)
-    data.dz = dot(data.xh_unit_vector, diff_data.dz)
+    data.dx = dot(data.unit_vector, diff_data.dx)
+    data.dy = dot(data.unit_vector, diff_data.dy)
+    data.dz = dot(data.unit_vector, diff_data.dz)



@@ -360,16 +360,16 @@
     # Direction cosine gradients
     ############################

-    data.ddx_dO[0] = dot(data.xh_unit_vector, diff_data.ddx_dalpha)
-    data.ddx_dO[1] = dot(data.xh_unit_vector, diff_data.ddx_dbeta)
-    data.ddx_dO[2] = dot(data.xh_unit_vector, diff_data.ddx_dgamma)
-
-    data.ddy_dO[0] = dot(data.xh_unit_vector, diff_data.ddy_dalpha)
-    data.ddy_dO[1] = dot(data.xh_unit_vector, diff_data.ddy_dbeta)
-    data.ddy_dO[2] = dot(data.xh_unit_vector, diff_data.ddy_dgamma)
+    data.ddx_dO[0] = dot(data.unit_vector, diff_data.ddx_dalpha)
+    data.ddx_dO[1] = dot(data.unit_vector, diff_data.ddx_dbeta)
+    data.ddx_dO[2] = dot(data.unit_vector, diff_data.ddx_dgamma)
+
+    data.ddy_dO[0] = dot(data.unit_vector, diff_data.ddy_dalpha)
+    data.ddy_dO[1] = dot(data.unit_vector, diff_data.ddy_dbeta)
+    data.ddy_dO[2] = dot(data.unit_vector, diff_data.ddy_dgamma)

-    data.ddz_dO[1] = dot(data.xh_unit_vector, diff_data.ddz_dbeta)
-    data.ddz_dO[2] = dot(data.xh_unit_vector, diff_data.ddz_dgamma)
+    data.ddz_dO[1] = dot(data.unit_vector, diff_data.ddz_dbeta)
+    data.ddz_dO[2] = dot(data.unit_vector, diff_data.ddz_dgamma)



@@ -581,20 +581,20 @@
     # Direction cosine Hessians
     ###########################

-    data.d2dx_dO2[0, 0] =                       dot(data.xh_unit_vector,
diff_data.d2dx_dalpha2)
-    data.d2dx_dO2[0, 1] = data.d2dx_dO2[1, 0] = dot(data.xh_unit_vector,
diff_data.d2dx_dalpha_dbeta)
-    data.d2dx_dO2[0, 2] = data.d2dx_dO2[2, 0] = dot(data.xh_unit_vector,
diff_data.d2dx_dalpha_dgamma)
-    data.d2dx_dO2[1, 1] =                       dot(data.xh_unit_vector,
diff_data.d2dx_dbeta2)
-    data.d2dx_dO2[1, 2] = data.d2dx_dO2[2, 1] = dot(data.xh_unit_vector,
diff_data.d2dx_dbeta_dgamma)
-    data.d2dx_dO2[2, 2] =                       dot(data.xh_unit_vector,
diff_data.d2dx_dgamma2)
-
-    data.d2dy_dO2[0, 0] =                       dot(data.xh_unit_vector,
diff_data.d2dy_dalpha2)
-    data.d2dy_dO2[0, 1] = data.d2dy_dO2[1, 0] = dot(data.xh_unit_vector,
diff_data.d2dy_dalpha_dbeta)
-    data.d2dy_dO2[0, 2] = data.d2dy_dO2[2, 0] = dot(data.xh_unit_vector,
diff_data.d2dy_dalpha_dgamma)
-    data.d2dy_dO2[1, 1] =                       dot(data.xh_unit_vector,
diff_data.d2dy_dbeta2)
-    data.d2dy_dO2[1, 2] = data.d2dy_dO2[2, 1] = dot(data.xh_unit_vector,
diff_data.d2dy_dbeta_dgamma)
-    data.d2dy_dO2[2, 2] =                       dot(data.xh_unit_vector,
diff_data.d2dy_dgamma2)
-
-    data.d2dz_dO2[1, 1] =                       dot(data.xh_unit_vector,
diff_data.d2dz_dbeta2)
-    data.d2dz_dO2[1, 2] = data.d2dz_dO2[2, 1] = dot(data.xh_unit_vector,
diff_data.d2dz_dbeta_dgamma)
-    data.d2dz_dO2[2, 2] =                       dot(data.xh_unit_vector,
diff_data.d2dz_dgamma2)
+    data.d2dx_dO2[0, 0] =                       dot(data.unit_vector,
diff_data.d2dx_dalpha2)
+    data.d2dx_dO2[0, 1] = data.d2dx_dO2[1, 0] = dot(data.unit_vector,
diff_data.d2dx_dalpha_dbeta)
+    data.d2dx_dO2[0, 2] = data.d2dx_dO2[2, 0] = dot(data.unit_vector,
diff_data.d2dx_dalpha_dgamma)
+    data.d2dx_dO2[1, 1] =                       dot(data.unit_vector,
diff_data.d2dx_dbeta2)
+    data.d2dx_dO2[1, 2] = data.d2dx_dO2[2, 1] = dot(data.unit_vector,
diff_data.d2dx_dbeta_dgamma)
+    data.d2dx_dO2[2, 2] =                       dot(data.unit_vector,
diff_data.d2dx_dgamma2)
+
+    data.d2dy_dO2[0, 0] =                       dot(data.unit_vector,
diff_data.d2dy_dalpha2)
+    data.d2dy_dO2[0, 1] = data.d2dy_dO2[1, 0] = dot(data.unit_vector,
diff_data.d2dy_dalpha_dbeta)
+    data.d2dy_dO2[0, 2] = data.d2dy_dO2[2, 0] = dot(data.unit_vector,
diff_data.d2dy_dalpha_dgamma)
+    data.d2dy_dO2[1, 1] =                       dot(data.unit_vector,
diff_data.d2dy_dbeta2)
+    data.d2dy_dO2[1, 2] = data.d2dy_dO2[2, 1] = dot(data.unit_vector,
diff_data.d2dy_dbeta_dgamma)
+    data.d2dy_dO2[2, 2] =                       dot(data.unit_vector,
diff_data.d2dy_dgamma2)
+
+    data.d2dz_dO2[1, 1] =                       dot(data.unit_vector,
diff_data.d2dz_dbeta2)
+    data.d2dz_dO2[1, 2] = data.d2dz_dO2[2, 1] = dot(data.unit_vector,
diff_data.d2dz_dbeta_dgamma)
+    data.d2dz_dO2[2, 2] =                       dot(data.unit_vector,
diff_data.d2dz_dgamma2)
diff -ur cst_orig/maths_fns/mf.py cst/maths_fns/mf.py
--- cst_orig/maths_fns/mf.py    2010-03-30 20:13:34.000000000 +0200
+++ cst/maths_fns/mf.py    2010-03-30 21:28:16.000000000 +0200
@@ -397,7 +397,9 @@

         # Direction cosine calculations.
         if self.diff_data.calc_di:
-            self.diff_data.calc_di(data, self.diff_data)
+        # loop over the interactions
+        for i in range(len(data)):
+                self.diff_data.calc_di(data[i], self.diff_data)

         # Diffusion tensor weight calculations.
         self.diff_data.calc_ci(data, self.diff_data)
@@ -511,7 +513,9 @@

             # Direction cosine calculations.
             if self.diff_data.calc_di:
-                self.diff_data.calc_di(data, self.diff_data)
+            # loop over the interactions
+            for i in range(len(data)):
+                    self.diff_data.calc_di(data[i], self.diff_data)

             # Diffusion tensor weight calculations.
             self.diff_data.calc_ci(data, self.diff_data)
@@ -578,7 +582,9 @@

             # Direction cosine calculations.
             if self.diff_data.calc_di:
-                self.diff_data.calc_di(data, self.diff_data)
+            # loop over the interactions
+            for i in range(len(data)):
+                    self.diff_data.calc_di(data[i], self.diff_data)

             # Diffusion tensor weight calculations.
             self.diff_data.calc_ci(data, self.diff_data)
@@ -766,7 +772,9 @@

             # Direction cosine calculations.
             if self.diff_data.calc_ddi:
-                self.diff_data.calc_ddi(data, self.diff_data)
+            # loop over the interactions
+            for i in range(len(data)):
+                    self.diff_data.calc_ddi(data[i], self.diff_data)

             # Diffusion tensor weight calculations.
             if self.diff_data.calc_dci:
@@ -847,7 +855,9 @@

             # Direction cosine calculations.
             if self.diff_data.calc_ddi:
-                self.diff_data.calc_ddi(data, self.diff_data)
+            # loop over the interactions
+            for i in range(len(data)):
+                    self.diff_data.calc_ddi(data[i], self.diff_data)

             # Diffusion tensor weight calculations.
             if self.diff_data.calc_dci:
@@ -1031,7 +1041,9 @@

             # Direction cosine calculations.
             if self.diff_data.calc_d2di:
-               self.diff_data.calc_d2di(data, self.diff_data)
+            # loop over the interactions
+            for i in range(len(data)):
+                    self.diff_data.calc_d2di(data[i], self.diff_data)

             # Diffusion tensor weight calculations.
             if self.diff_data.calc_d2ci:
@@ -1105,7 +1117,9 @@

             # Direction cosine calculations.
             if self.diff_data.calc_d2di:
-               self.diff_data.calc_d2di(data, self.diff_data)
+            # loop over the interactions
+            for i in range(len(data)):
+                    self.diff_data.calc_d2di(data[i], self.diff_data)

             # Diffusion tensor weight calculations.
             if self.diff_data.calc_d2ci:


_______________________________________________
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





Related Messages


Powered by MHonArc, Updated Thu Apr 08 17:40:12 2010