oILAB
Loading...
Searching...
No Matches
gbLAB::Gb< dim > Class Template Reference

#include <Gb.h>

Public Member Functions

LatticeVector< dim > getLatticeVectorInT (const LatticeVector< dim > &v) const
 
ReciprocalLatticeVector< dim > getReciprocalLatticeVectorInT (const ReciprocalLatticeVector< dim > &v) const
 
ReciprocalLatticeDirection< dim > getReciprocalLatticeDirectionInT (const ReciprocalLatticeVector< dim > &v) const
 
double stepHeightA (const LatticeVector< dim > &d) const
 Computes the step height of a disconnection formed by displacing lattice \(\mathcal A\) by a Burgers vector \(\textbf d\).
 
double stepHeightB (const LatticeVector< dim > &d) const
 Computes the step height of a disconnection formed by displacing lattice \(\mathcal B\) by a Burgers vector \(\textbf d\).
 
 Gb (const BiCrystal< dim > &bc, const ReciprocalLatticeDirection< dim > &n)
 Constructs a grain boundary of a given orientation in a bicrystal.
 
template<int dm = dim>
std::enable_if< dm==2, LatticeVector< dim > >::type getPeriodVector (const ReciprocalLatticeVector< dim > &axis) const
 
template<int dm = dim>
std::enable_if< dm==3, LatticeVector< dim > >::type getPeriodVector (const ReciprocalLatticeVector< dm > &axis) const
 
template<int dm = dim>
std::enable_if< dm==2||dm==3, std::vector< LatticeVector< dim > > >::type box (std::vector< LatticeVector< dim > > &boxVectors, const double &orthogonality, const int &dsclFactor, std::string filename="", bool orient=false) const
 

Data Fields

const BiCrystal< dim > & bc
 
const ReciprocalLatticeDirection< dim > nA
 
const ReciprocalLatticeDirection< dim > nB
 
const Lattice< dim > T
 
const MatrixDimI basisT
 

Private Types

using VectorDimI = typename LatticeCore< dim >::VectorDimI
 
using VectorDimD = typename LatticeCore< dim >::VectorDimD
 
using MatrixDimD = typename LatticeCore< dim >::MatrixDimD
 
using MatrixDimI = typename LatticeCore< dim >::MatrixDimI
 
using IntScalarType = typename LatticeCore< dim >::IntScalarType
 

Private Member Functions

MatrixDimI getBasisT (const BiCrystal< dim > &bc, const ReciprocalLatticeDirection< dim > &n)
 

Detailed Description

template<int dim>
class gbLAB::Gb< dim >
Examples
testGb.cpp, and testGb3d.cpp.

Definition at line 15 of file Gb.h.

Member Typedef Documentation

◆ IntScalarType

template<int dim>
using gbLAB::Gb< dim >::IntScalarType = typename LatticeCore<dim>::IntScalarType
private

Definition at line 21 of file Gb.h.

◆ MatrixDimD

template<int dim>
using gbLAB::Gb< dim >::MatrixDimD = typename LatticeCore<dim>::MatrixDimD
private

Definition at line 19 of file Gb.h.

◆ MatrixDimI

template<int dim>
using gbLAB::Gb< dim >::MatrixDimI = typename LatticeCore<dim>::MatrixDimI
private

Definition at line 20 of file Gb.h.

◆ VectorDimD

template<int dim>
using gbLAB::Gb< dim >::VectorDimD = typename LatticeCore<dim>::VectorDimD
private

Definition at line 18 of file Gb.h.

◆ VectorDimI

template<int dim>
using gbLAB::Gb< dim >::VectorDimI = typename LatticeCore<dim>::VectorDimI
private

Definition at line 17 of file Gb.h.

Constructor & Destructor Documentation

◆ Gb()

template<int dim>
gbLAB::Gb< dim >::Gb ( const BiCrystal< dim > &  bc,
const ReciprocalLatticeDirection< dim > &  n 
)

Constructs a grain boundary of a given orientation in a bicrystal.

Parameters
bc- Bicrystal formed by two lattices \(\mathcal A\) and \(\mathcal B\).
n- Reciprocal lattice direction in dual lattices \(\mathcal A^*\) or \(\mathcal B^*\).

Definition at line 12 of file Gb.cpp.

Member Function Documentation

◆ box()

template<int dim>
template<int dm>
template std::vector< LatticeVector< 3 > > gbLAB::Gb< dim >::box< 3 > ( std::vector< LatticeVector< dim > > &  boxVectors,
const double &  orthogonality,
const int &  dsclFactor,
std::string  filename = "",
bool  orient = false 
) const

This function outputs/prints a grain boundary (two lattices that form the GB, CSL, and the DSCL) bounded by a box defined using input box vectors. The box vectors have to be linearly independent lattice vectors. The boxVectors[0] is not parallel to the boundary plane while the remaining box vectors should lie in the GB plane. The function optimizes boxVectors[0] to make the box as orthogonal as possible depending on the orthogonality parameter. The length of the box along boxVectors[0] is equal to 2*boxVectors[0].norm, while the lengths along the remaining box vectors are equal to their norms.

The function outputs DSCL lattice points in the GBs neighborhood, which can be controlled by the dsclFactor parameter.

Template Parameters
dmdimension (int)
Parameters
boxVectorsthree linearly independent lattice vectors. The first box vector is not parallel to the boundary plane, while the remaining box vectors span the GB plane.
orthogonality(double) a value in the interval \([0,1]\).
dsclFactor(int) a factor \( \ge 1\) to increase the number of outputted DSCL planes
filename(optional) name of the output file
orient(optional) While printing to a file, orient the system such that the box sides are along the global x, y, and z axes. The box vectors spanning the grain boundary have to be orthogonal if orient==true. This flag does not influence the returning configuration, only the configuration printed to the file.
Returns
lattice points of the grain boundary bounded by the box (std::vector<LatticeVector<dim>>).
Examples
testGb.cpp, and testGb3d.cpp.

Definition at line 49 of file Gb.cpp.

◆ getBasisT()

template<int dim>
Gb< dim >::MatrixDimI gbLAB::Gb< dim >::getBasisT ( const BiCrystal< dim > &  bc,
const ReciprocalLatticeDirection< dim > &  n 
)
private

Definition at line 160 of file Gb.cpp.

◆ getLatticeVectorInT()

template<int dim>
LatticeVector< dim > gbLAB::Gb< dim >::getLatticeVectorInT ( const LatticeVector< dim > &  v) const

Definition at line 189 of file Gb.cpp.

◆ getPeriodVector() [1/2]

template<int dim>
template<int dm>
std::enable_if< dm==2, LatticeVector< dim > >::type gbLAB::Gb< dim >::getPeriodVector ( const ReciprocalLatticeVector< dim > &  axis) const

Definition at line 142 of file Gb.cpp.

◆ getPeriodVector() [2/2]

template<int dim>
template<int dm>
std::enable_if< dm==3, LatticeVector< dim > >::type gbLAB::Gb< dim >::getPeriodVector ( const ReciprocalLatticeVector< dm > &  axis) const

Definition at line 150 of file Gb.cpp.

◆ getReciprocalLatticeDirectionInT()

template<int dim>
ReciprocalLatticeDirection< dim > gbLAB::Gb< dim >::getReciprocalLatticeDirectionInT ( const ReciprocalLatticeVector< dim > &  v) const

Definition at line 223 of file Gb.cpp.

◆ getReciprocalLatticeVectorInT()

template<int dim>
ReciprocalLatticeVector< dim > gbLAB::Gb< dim >::getReciprocalLatticeVectorInT ( const ReciprocalLatticeVector< dim > &  v) const

Definition at line 211 of file Gb.cpp.

◆ stepHeightA()

template<int dim>
double gbLAB::Gb< dim >::stepHeightA ( const LatticeVector< dim > &  d) const

Computes the step height of a disconnection formed by displacing lattice \(\mathcal A\) by a Burgers vector \(\textbf d\).

Parameters
d- Burgers vector that belongs to the DSCL of the bicrystal
Returns
step height
Examples
testGb.cpp.

Definition at line 30 of file Gb.cpp.

◆ stepHeightB()

template<int dim>
double gbLAB::Gb< dim >::stepHeightB ( const LatticeVector< dim > &  d) const

Computes the step height of a disconnection formed by displacing lattice \(\mathcal B\) by a Burgers vector \(\textbf d\).

Parameters
d- Burgers vector that belongs to the DSCL of the bicrystal
Returns
step height
Examples
testGb.cpp.

Definition at line 39 of file Gb.cpp.

Field Documentation

◆ basisT

template<int dim>
const MatrixDimI gbLAB::Gb< dim >::basisT

Definition at line 41 of file Gb.h.

◆ bc

template<int dim>
const BiCrystal<dim>& gbLAB::Gb< dim >::bc

Bicrystal formed by two lattices, say \(\mathcal A\) and \(\mathcal B\)

Examples
testGb.cpp, and testGb3d.cpp.

Definition at line 29 of file Gb.h.

◆ nA

template<int dim>
const ReciprocalLatticeDirection<dim> gbLAB::Gb< dim >::nA

GB normal described with respect to lattice \(\mathcal A\)

Examples
testGb.cpp, and testGb3d.cpp.

Definition at line 33 of file Gb.h.

◆ nB

template<int dim>
const ReciprocalLatticeDirection<dim> gbLAB::Gb< dim >::nB

GB normal described with respect to lattice \(\mathcal B\)

Examples
testGb.cpp, and testGb3d.cpp.

Definition at line 37 of file Gb.h.

◆ T

template<int dim>
const Lattice<dim> gbLAB::Gb< dim >::T

Definition at line 39 of file Gb.h.


The documentation for this class was generated from the following files: