Package maths_fns :: Module geometry
[hide private]
[frames] | no frames]

Module geometry

source code

Functions [hide private]
 
calc_axial_geom(data, diff_data)
Function for calculating the dot product XH .
source code
 
calc_axial_dgeom(data, diff_data)
Function for calculating the partial derivatives of the dot product XH .
source code
 
calc_axial_d2geom(data, diff_data)
Function for calculating the second partial derivatives of the dot product XH .
source code
 
calc_aniso_geom(data, diff_data)
Function for calculating delta_alpha, delta_beta, and delta_gamma.
source code
 
calc_aniso_dgeom(data, diff_data)
Function for calculating the partial derivative of delta_alpha, delta_beta, and delta_gamma.
source code
 
calc_aniso_d2geom(data, diff_data)
Function calculating the second partial derivatives of delta_alpha, delta_beta, delta_gamma.
source code

Imports: dot, cos, sin


Function Details [hide private]

calc_axial_geom(data, diff_data)

source code 
Function for calculating the dot product XH . Dpar.

Delta is the dot product between the unit bond vector and the unit vector along Dpar.  The
equation is:

    delta = XH . Dpar

The unit Dpar vector is:

             | sin(theta) * cos(phi) |
    Dpar  =  | sin(theta) * sin(phi) |
             |      cos(theta)       |

calc_axial_dgeom(data, diff_data)

source code 
Function for calculating the partial derivatives of the dot product XH . Dpar.

The theta partial derivative of the unit Dpar vector is:

    dDpar      | cos(theta) * cos(phi) |
    ------  =  | cos(theta) * sin(phi) |
    dtheta     |      -sin(theta)      |

The phi partial derivative of the unit Dpar vector is:

    dDpar     | -sin(theta) * sin(phi) |
    -----  =  |  sin(theta) * cos(phi) |
    dphi      |           0            |

Psi is the diffusion parameter set {Dper, Dpar, theta, phi}

calc_axial_d2geom(data, diff_data)

source code 
Function for calculating the second partial derivatives of the dot product XH . Dpar.

The theta-theta second partial derivative of the unit Dpar vector is:

    d2Dpar      | -sin(theta) * cos(phi) |
    -------  =  | -sin(theta) * sin(phi) |
    dtheta2     |      -cos(theta)       |

The theta-phi second partial derivative of the unit Dpar vector is:

      d2Dpar        | -cos(theta) * sin(phi) |
    -----------  =  |  cos(theta) * cos(phi) |
    dtheta.dphi     |           0            |

The phi-phi second partial derivative of the unit Dpar vector is:

    dDpar     | -sin(theta) * cos(phi) |
    -----  =  | -sin(theta) * sin(phi) |
    dphi2     |           0            |

Psi is the diffusion parameter set {Dper, Dpar, theta, phi}

calc_aniso_geom(data, diff_data)

source code 
Function for calculating delta_alpha, delta_beta, and delta_gamma.

Deltas
~~~~~~

delta_alpha is the dot product between the unit bond vector and the unit vector along Dx.  The
equation is:

    delta_alpha = XH . Dx

delta_beta is the dot product between the unit bond vector and the unit vector along Dy.  The
equation is:

    delta_beta = XH . Dy

delta_gamma is the dot product between the unit bond vector and the unit vector along Dz.  The
equation is:

    delta_gamma = XH . Dz


Unit vectors
~~~~~~~~~~~~

The unit Dx vector is:

           | -sin(alpha) * sin(gamma) + cos(alpha) * cos(beta) * cos(gamma) |
    Dx  =  | -sin(alpha) * cos(gamma) - cos(alpha) * cos(beta) * sin(gamma) |
           |                    cos(alpha) * sin(beta)                      |

The unit Dy vector is:

           | cos(alpha) * sin(gamma) + sin(alpha) * cos(beta) * cos(gamma) |
    Dy  =  | cos(alpha) * cos(gamma) - sin(alpha) * cos(beta) * sin(gamma) |
           |                   sin(alpha) * sin(beta)                      |

The unit Dz vector is:

           | -sin(beta) * cos(gamma) |
    Dz  =  |  sin(beta) * sin(gamma) |
           |        cos(beta)        |

calc_aniso_dgeom(data, diff_data)

source code 
Function for calculating the partial derivative of delta_alpha, delta_beta, and delta_gamma.

Dx gradient
~~~~~~~~~~~

The alpha partial derivative of the unit Dx vector is:

     dDx       | -cos(alpha) * sin(gamma) - sin(alpha) * cos(beta) * cos(gamma) |
    ------  =  | -cos(alpha) * cos(gamma) + sin(alpha) * cos(beta) * sin(gamma) |
    dalpha     |                   -sin(alpha) * sin(beta)                      |

The beta partial derivative of the unit Dx vector is:

     dDx      | -cos(alpha) * sin(beta) * cos(gamma) |
    -----  =  |  cos(alpha) * sin(beta) * sin(gamma) |
    dbeta     |       cos(alpha) * cos(beta)         |

The gamma partial derivative of the unit Dx vector is:

     dDx       | -sin(alpha) * cos(gamma) - cos(alpha) * cos(beta) * sin(gamma) |
    ------  =  |  sin(alpha) * sin(gamma) - cos(alpha) * cos(beta) * cos(gamma) |
    dgamma     |                             0                                  |


Dy gradient
~~~~~~~~~~~

The alpha partial derivative of the unit Dy vector is:

     dDy       | -sin(alpha) * sin(gamma) + cos(alpha) * cos(beta) * cos(gamma) |
    ------  =  | -sin(alpha) * cos(gamma) - cos(alpha) * cos(beta) * sin(gamma) |
    dalpha     |                    cos(alpha) * sin(beta)                      |

The beta partial derivative of the unit Dy vector is:

     dDy      | -sin(alpha) * sin(beta) * cos(gamma) |
    -----  =  |  sin(alpha) * sin(beta) * sin(gamma) |
    dbeta     |       sin(alpha) * cos(beta)         |

The gamma partial derivative of the unit Dy vector is:

     dDy       |  cos(alpha) * cos(gamma) - sin(alpha) * cos(beta) * sin(gamma) |
    ------  =  | -cos(alpha) * sin(gamma) - sin(alpha) * cos(beta) * cos(gamma) |
    dgamma     |                             0                                  |


Dz gradient
~~~~~~~~~~~

The alpha partial derivative of the unit Dz vector is:

     dDz       | 0 |
    ------  =  | 0 |
    dalpha     | 0 |

The beta partial derivative of the unit Dz vector is:

     dDz      | -cos(beta) * cos(gamma) |
    -----  =  |  cos(beta) * sin(gamma) |
    dbeta     |        -sin(beta)       |

The gamma partial derivative of the unit Dz vector is:

     dDz       | sin(beta) * sin(gamma) |
    ------  =  | sin(beta) * cos(gamma) |
    dgamma     |           0            |

calc_aniso_d2geom(data, diff_data)

source code 
Function calculating the second partial derivatives of delta_alpha, delta_beta, delta_gamma.

Dx Hessian
~~~~~~~~~~

The alpha-alpha second partial derivative of the unit Dx vector is:

     d2Dx       | sin(alpha) * sin(gamma) - cos(alpha) * cos(beta) * cos(gamma) |
    -------  =  | sin(alpha) * cos(gamma) + cos(alpha) * cos(beta) * sin(gamma) |
    dalpha2     |                  -cos(alpha) * sin(beta)                      |

The alpha-beta second partial derivative of the unit Dx vector is:

        d2Dx         |  sin(alpha) * sin(beta) * cos(gamma) |
    ------------  =  | -sin(alpha) * sin(beta) * sin(gamma) |
    dalpha.dbeta     |      -sin(alpha) * cos(beta)         |

The alpha-gamma second partial derivative of the unit Dx vector is:

        d2Dx          | -cos(alpha) * cos(gamma) + sin(alpha) * cos(beta) * sin(gamma) |
    -------------  =  |  cos(alpha) * sin(gamma) + sin(alpha) * cos(beta) * cos(gamma) |
    dalpha.dgamma     |                             0                                  |

The beta-beta second partial derivative of the unit Dx vector is:

     d2Dx      | -cos(alpha) * cos(beta) * cos(gamma) |
    ------  =  |  cos(alpha) * cos(beta) * sin(gamma) |
    dbeta2     |      -cos(alpha) * sin(beta)         |

The beta-gamma second partial derivative of the unit Dx vector is:

        d2Dx         | cos(alpha) * sin(beta) * sin(gamma) |
    ------------  =  | cos(alpha) * sin(beta) * cos(gamma) |
    dbeta.dgamma     |                 0                   |

The gamma-gamma second partial derivative of the unit Dx vector is:

     d2Dx       | sin(alpha) * sin(gamma) - cos(alpha) * cos(beta) * cos(gamma) |
    -------  =  | sin(alpha) * cos(gamma) + cos(alpha) * cos(beta) * sin(gamma) |
    dgamma2     |                            0                                  |


Dy Hessian
~~~~~~~~~~

The alpha-alpha second partial derivative of the unit Dy vector is:

     d2Dy       | -cos(alpha) * sin(gamma) - sin(alpha) * cos(beta) * cos(gamma) |
    -------  =  | -cos(alpha) * cos(gamma) + sin(alpha) * cos(beta) * sin(gamma) |
    dalpha2     |                   -sin(alpha) * sin(beta)                      |

The alpha-beta second partial derivative of the unit Dy vector is:

        d2Dy         | -cos(alpha) * sin(beta) * cos(gamma) |
    ------------  =  |  cos(alpha) * sin(beta) * sin(gamma) |
    dalpha.dbeta     |       cos(alpha) * cos(beta)         |

The alpha-gamma second partial derivative of the unit Dy vector is:

        d2Dy          | -sin(alpha) * cos(gamma) - cos(alpha) * cos(beta) * sin(gamma) |
    -------------  =  |  sin(alpha) * sin(gamma) - cos(alpha) * cos(beta) * cos(gamma) |
    dalpha.dgamma     |                             0                                  |

The beta-beta second partial derivative of the unit Dy vector is:

     d2Dy      | -sin(alpha) * cos(beta) * cos(gamma) |
    ------  =  |  sin(alpha) * cos(beta) * sin(gamma) |
    dbeta2     |      -sin(alpha) * sin(beta)         |

The beta-gamma second partial derivative of the unit Dy vector is:

        d2Dy         | sin(alpha) * sin(beta) * sin(gamma) |
    ------------  =  | sin(alpha) * sin(beta) * cos(gamma) |
    dbeta.dgamma     |                 0                   |

The gamma-gamma second partial derivative of the unit Dy vector is:

     d2Dy       | -cos(alpha) * sin(gamma) - sin(alpha) * cos(beta) * cos(gamma) |
    -------  =  | -cos(alpha) * cos(gamma) + sin(alpha) * cos(beta) * sin(gamma) |
    dgamma2     |                             0                                  |


Dz Hessian
~~~~~~~~~~

The alpha-alpha second partial derivative of the unit Dz vector is:

     d2Dz       | 0 |
    -------  =  | 0 |
    dalpha2     | 0 |

The alpha-beta second partial derivative of the unit Dz vector is:

        d2Dz         | 0 |
    ------------  =  | 0 |
    dalpha.dbeta     | 0 |

The alpha-gamma second partial derivative of the unit Dz vector is:

         d2Dz         | 0 |
    -------------  =  | 0 |
    dalpha.dgamma     | 0 |

The beta-beta second partial derivative of the unit Dz vector is:

     d2Dz      |  sin(beta) * cos(gamma) |
    ------  =  | -sin(beta) * sin(gamma) |
    dbeta2     |        -cos(beta)       |

The beta-gamma second partial derivative of the unit Dz vector is:

        d2Dz         | cos(beta) * sin(gamma) |
    ------------  =  | cos(beta) * cos(gamma) |
    dbeta.dgamma     |           0            |

The gamma-gamma second partial derivative of the unit Dz vector is:

     d2Dz       |  sin(beta) * cos(gamma) |
    -------  =  | -sin(beta) * sin(gamma) |
    dgamma2     |            0            |