PoleFigure Group

  • BuildOdfPfMatrix
  • FiberCoordinates
  • FiberOfPoint
  • FindFiber
  • MeshCoordinates
  • OdfPfMatrix
  • QFiberOfPoint

  • BuildOdfPfMatrix

    BuildOdfPfMatrix - Build ODF/PF matrix in pieces.

    Usage

    opm = BuildOdfPfMatrix(hkl, mesh, sym, pts, div, invpf, block)

    Interactive Documentation

     BuildOdfPfMatrix - Build ODF/PF matrix in pieces.
       
       USAGE:
    
       opm = BuildOdfPfMatrix(hkl, mesh, sym, pts, div, invpf, block)
    
       INPUT:
    
       hkl,  mesh, sym, pts, div, invpf 
             are the same as in `OdfPfMatrix', except that `invpf' is 
             no longer optional 
       block is a postive integer, 
             the number of pole figure points to be processed at a
             time;  the pole figure points can be processed 
             independently to control memory allocation
    
       OUTPUT:
    
       See `OdfPfMatrix'
    
       NOTES:
    
       *  See OdfPfMatrix for further documentation.
    
       *  This is preferrd to OdfPfMatrix for problems with
          many divisions per fiber and many pole figure points.
    
    

    FiberCoordinates

    FiberCoordinates - Find mesh coordinates for a given fiber.

    Usage

    [fele, fcrd] = FiberCoordinates(fib, mesh)

    Interactive Documentation

     FiberCoordinates - Find mesh coordinates for a given fiber.
       
       USAGE:
    
       [fele, fcrd] = FiberCoordinates(fib, mesh)
    
       INPUT:
    
       fib is a 3 x ndiv x npole,
           it is an array with each page giving the fiber over 
           the n'th pole point; usually the result of FiberOfPoint
       mesh is a MeshStructure 
           on the fundamental region
    
       OUTPUT:
    
       fele is ndiv x npole, 
            the list of elements containing the fiber points.
       fcrd is 4 x ndiv x npole, 
            the barycentric coordinates of the fiber points
    
      Notes:
    
      *  The call to the matlab builtin `tsearchn' can fail, possibly
         due to the fact that the meshes are not necessarily Delaunay
         tesselations.
    
    

    FiberOfPoint

    FiberOfPoint - Find fiber above point for specified pole figure.

    Usage

    fib = FiberOfPoint(p, h, ndiv, qsym, invfib)

    Interactive Documentation

     FiberOfPoint - Find fiber above point for specified pole figure.
       
       USAGE:
    
       fib = FiberOfPoint(p, h, ndiv, qsym)
       fib = FiberOfPoint(p, h, ndiv, qsym, invfib)
       
       INPUT:
    
       p    is 3 x n,  
            an array of points on the sphere 
       h    is 3 x 1,  
            a specified pole direction; if `invfib' is nonzero,
            this is interpreted as a crystal direction; otherwise
            it is interpreted as a sample direction
       ndiv is a positive integer, 
            the number of equally spaced divisions along the fiber
       qsym is 4 x m, 
            the quaternion representation of the symmetry group
       invfib is a scalar, (optional) 
            a flag which, if nonzero, produces the inverse fiber 
       
       OUTPUT:
    
       fib is 3 x ndiv x n, 
           the column represents the Rodrigues
           vector of a point on the fiber, the row spans the points
           on the fiber, and the page spans the points on the sphere
       
       NOTES:
    
       * `h' need not be a unit vector; it is normalized here
    
    

    FindFiber

    FindFiber - Find fiber for given crystal and sample directions.

    Usage

    fibs = FindFiber(c, s, ndiv)

    Interactive Documentation

     FindFiber - Find fiber for given crystal and sample directions.
      
       USAGE:
    
       fibs = FindFiber(c, s, ndiv)
    
       INPUT:
    
       c is 3 x m,
            an array of crystal directions
       s is 3 x n,
            an array of sample directions;
            if n > 1 then m must be 1, and vice versa
       ndiv is a postive integer,
            the number of points to return per fiber
    
       OUTPUT:
    
       fibs is 4 x ndiv x nfibs,
            an array of equally spaced points (quaternions) along each
            specified fiber; `nfibs' is either `m' or `n' above
    
       NOTES:
    
       * The (c, s) fiber is the collection of rotations R
         such that Rc = s
    
       * This routine can be called with many crystal directions
         and a single sample (as for inverse pole figures) or
         with many sample directions and a single crystal direction
         (as for pole figures)
    
    

    MeshCoordinates

    MeshCoordinates - find elements and barycentric coordinates of points

    Usage

    [els, crds] = MeshCoordinates(mesh, pts)

    Interactive Documentation

     MeshCoordinates - find elements and barycentric coordinates of points
       
       USAGE:
    
       [els, crds] = MeshCoordinates(mesh, pts)
    
       INPUT:
    
       mesh is a MeshStructure,
            it should be Delaunay, but it may be okay anyway if it is
            not too irregular
       pts  is m x n,
            a list of n m-dimensional points
    
       OUTPUT:
    
       els is an n-vector, (integers)
           the list of element numbers containing each point
       crds is (m+1) x n,  
           the barycentric coordinates of each point
    
       NOTES:
    
       *  The call to the matlab builtin `tsearchn' can fail if 
          the mesh is not Delaunay.
    
    

    OdfPfMatrix

    OdfPfMatrix - Find matrix relating ODF to pole figure.

    Usage

    opm = OdfPfMatrix(hkl, mesh, sym, pts, div, invpf)

    Interactive Documentation

     OdfPfMatrix - Find matrix relating ODF to pole figure.
       
       USAGE:
    
       opm = OdfPfMatrix(hkl, mesh, sym, pts, div)
       opm = OdfPfMatrix(hkl, mesh, sym, pts, div, invpf)
    
       INPUT:
    
       hkl   is a 3-vector, 
             the crystal direction specifying the pole figure
       mesh  is a MeshStructure,
             on orientation space
       sym   is 4 x s, 
             the symmetry group in quaternions
       pts   is 3 x p, 
             a list of p points on the sphere (S^2)
       div   is a positive integer, 
             the number of divisions per fiber to use in
             calculating the fiber integral
       invpf is a scalar, (optional, default = 0) 
             a nonzero value flags causes computation of inverse pole 
             figure matrix in which the `hkl' is interpreted
             as a fixed sample direction and `pts' is an array
             of crystal directions
    
       OUTPUT:
    
       opm is p x n, (sparse) 
           the matrix which takes nodal point values on the
           fundamental region to pole figure or inverse
           values at the specified points
    
       NOTES:
    
       *  opm acts on the "reduced" set of nodes, the set of nodes
          in which equivalent nodes are combined into a single
          degree of freedom
       *  this routine can be very memory intensive; you may need to
          build the matrix in pieces; if you have a lot of points
          and a large value of `div', then you should break the points
          into smaller groups 
       *  the ODF-PF matrix preserves mean value, so that 
          an ODF in MUD (multiples of uniform) maps to a pole
          figure also in MUD.
    
    

    QFiberOfPoint

    QFiberOfPoint - Find fiber above point in quaternions.

    Usage

    qfib = QFiberOfPoint(p, h, ndiv, qsym, invfib)

    Interactive Documentation

     QFiberOfPoint - Find fiber above point in quaternions.
       
       USAGE:
    
       qfib = QFiberOfPoint(p, h, ndiv, qsym)
       qfib = QFiberOfPoint(p, h, ndiv, qsym, invfib)
       
       INPUT:
    
       p    is 3 x n,  
            an array of points on the sphere 
       h    is 3 x 1,  
            a specified pole direction; if `invfib' is nonzero,
            this is interpreted as a crystal direction; otherwise
            it is interpreted as a sample direction
       ndiv is a positive integer, 
            the number of equally spaced divisions along the fiber
       qsym is 4 x m, 
            the quaternion representation of the symmetry group
       invfib is a scalar, (optional, default: 0) 
            a flag which, if nonzero, produces the inverse fiber 
       
       OUTPUT:
    
       qfib is 4 x ndiv x n, 
            each column gives the quaternion representation of a point 
            on the fiber; the row spans the points on the fiber;
            and the page (third index) spans the points on the sphere
       
       NOTES:
          
       * h need not be a unit vector; it is normalized here