ave_pcs_tensor_ddeltaij_dc(ddj=None,
dj=None,
r=None,
unit_vect=None,
N=None,
Ai=None,
dr_dc=None,
weights=None)
 source code

Calculate the ensemble average PCS gradient element for the
paramagnetic centre coordinate c, using the 3D tensor.
This function calculates the paramagnetic centre coordinate part of
the average PCS gradient for a set of electronnuclear spin unit vectors
(paramagnetic to the nuclear spin) from a structural ensemble, using the
3D tensorial form of the alignment tensor. The formula for this ensemble
average PCS gradient element is:
_N_
ddelta_ij(theta) \ / ddjc dr_jcT dr_jc \
 = > pc .  .r_jcT.Ai.r_jc + djc..Ai.r_jc + djc.r_jcT.Ai.  ,
dxi /__ \ dxi dxi dxi /
c=1
where the last two terms in the sum are equal due to the symmetry of
the alignment tensor, and:

xi are the paramagnetic position coordinates {x0, x1, x2},

i is the alignment tensor index,

j is the index over spins,

c is the index over the states or multiple structures,

theta is the parameter vector,

djc is the PCS constant for spin j and state c,

N is the total number of states or structures,

pc is the population probability or weight associated with state c
(equally weighted to 1/N if weights are not provided),

r_jc is the vector corresponding to spin j and state c,
and where:
ddjc mu0 15kT 5 (si  xi)
 =    ,
dxi 4pi Bo**2 ((sxx0)**2 + (syx1)**2 + (szx2)**2)**(7/2)
where {sx, sy, sz} are the spin atomic coordinates, and:
dr  1  dr  0  dr  0 
 =   0  ,  =   1  ,  =   0  .
dx0  0  dx1  0  dx2  1 
The pseudocontact shift constant is defined here as:
mu0 15kT 1
djc =    ,
4pi Bo**2 rjc**5
 Parameters:
ddj (numpy rank1 array)  The PCS constant gradient for each structure c for spin j. This
should be an array with indices corresponding to c.
dj (numpy rank1 array)  The PCS constants for each structure c for spin j. This should
be an array with indices corresponding to c.
r (float)  The distance between the paramagnetic centre and the spin (in
meters).
vect (numpy matrix)  The electronnuclear unit vector matrix. The first dimension
corresponds to the structural index, the second dimension is the
coordinates of the unit vector. The vectors should be parallel
to the vector connecting the paramagnetic centre to the nuclear
spin.
N (int)  The total number of structures.
Ai (numpy rank2, 3D tensor)  The alignment tensor i.
weights (numpy rank1 array)  The weights for each member of the ensemble (the last member need
not be supplied).
 Returns: float
 The average PCS gradient element.
