polygonal faces separating neighbouring grains in a three-dimensional volume

Syntax

gB = grains.boundary
firstFaces = gB[:10]
areas = gB.area
normals = gB.N

Description

A boundary contains one row per face, with its adjacent grain ids, voxel ids, phases and misrotation. Faces share a vertex table. Face normals point from the first adjacent grain to the second when the mesh is consistently oriented. The exterior uses grain id 0, voxel id -1 and phase id -1. Select a single phase pair before requesting misorientation.

Input

allV vector3d or array of shape (n, 3), all stored vertex positions
F array of shape (m, 3) for triangles, or a list of polygon vertex-index arrays; indices are zero-based and a polygon does not repeat its first vertex
grainId array of shape (m, 2), adjacent grain ids
ebsdId array of shape (m, 2), adjacent voxel ids, or None for unknown ids
phaseId array of shape (m, 2), adjacent phase-list indices
misrotation rotation across each face
CSList list of phase frames
frame specimenFrame of the geometry
scanUnit spatial unit of vertex coordinates; default ‘um’
id persistent face ids; default 1 through m

Output

gB grain3Boundary, normally obtained as grains.boundary

Properties

allV numeric vertex coordinates of shape (n, 3)
F triangle indices or polygon index arrays into allV
grainId grain ids on the two sides of every face
N oriented unit face normals as vector3d
centroid area-weighted face centres as vector3d
area area of every face in squared spatial units
misorientation symmetry-aware orientation relationship for one phase pair
isTriangulated whether all faces have three corners

See also

grain3d, calcGrains3d, grain3d.orientFaces

Members

area the area of every face
calcGBND the boundary normal distribution of a 3D boundary: the face normals in specimen coordinates weighted by area, with grains the normals in the crystal frame of the one phase, with moriRef the grain boundary character of the faces whose misorientation is near moriRef
cat cat(a, b, …) is type(a).cat(a, b, …): the list of the operands, MATLAB’s [a, b], the carried attributes joined
centroid the mean of the corners of a triangle, the area centroid of a polygon
diameter the largest distance between two corners of every face
edges the edges of a triangulated boundary, sorted pairs of vertices, and the three edges of every face
F the triangles as an (m, 3) array, a polygonal boundary as a list of index arrays
flip the boundary faces with their two sides exchanged, of all faces or a selection
flipN the boundary faces turned round, their normals pointing the other way
grain3Boundary polygonal faces separating neighbouring grains in a three-dimensional volume
hasGrain the boundary faces of a grain, or between two grains
hasPhase the boundary faces with a phase on one side, or between two phases
I_FG faces x grains, the columns the grain ids
I_VF the incidence of vertices and faces, a sparse boolean matrix vertices x faces
I_VG the incidence of vertices and grains, a sparse boolean matrix vertices x grains
idV the indices into allV of the vertices the faces use, sorted
isIndexed whether the grain on either side is indexed, (m, 2)
isTriangulated whether every face is a triangle
misorientation the misorientation of every face from the second side to the first, NaN where a side is not indexed
N the unit normal of every face, NaN for a face of no area
nodeType the number of grains meeting at every vertex, plus 10 on the surface of the volume
numCorners the number of corners of every face
perimeter the perimeter of every face, the length of its edges
plot the faces of a 3D grain boundary, light blue, in one colour, or coloured by a value or a colour per face
quiver arrows at the centroids of 3D grains or of their boundary faces
size the number of faces
subsref  
V the vertices the faces use, as vectors

MATLAB’s grain3Boundary_index

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/grain3Boundary_index_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.