Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
BiCrystal.h
Go to the documentation of this file.
1/* This file is part of model.
2 *
3 * MoDELib is distributed without any warranty under the MIT License.
4 */
5
6
7#ifndef model_BiCrystal_h_
8#define model_BiCrystal_h_
9
10#include <LatticeModule.h>
11#include <SmithDecomposition.h>
12#include <RationalMatrix.h>
13#include <LLL.h>
14#include <RLLL.h>
15
16
17namespace model
18{
24 template <int dim>
25 class BiCrystal : public RationalMatrix<dim>
26 /* */,public SmithDecomposition<dim>
27 {
28 typedef typename LatticeCore<dim>::IntScalarType IntScalarType;
29 typedef typename LatticeCore<dim>::VectorDimD VectorDimD;
30 typedef typename LatticeCore<dim>::MatrixDimD MatrixDimD;
31 typedef typename LatticeCore<dim>::VectorDimI VectorDimI;
32 typedef typename LatticeCore<dim>::MatrixDimI MatrixDimI;
33
34
35 static MatrixDimI getM(const RationalMatrix<dim>& rm, const SmithDecomposition<dim>& sd);
36 static MatrixDimI getN(const RationalMatrix<dim>& rm, const SmithDecomposition<dim>& sd);
37 static MatrixDimD getCSLBasis(const Lattice<dim>& A,
38 const Lattice<dim>& B,
40 const MatrixDimI& M,
41 const MatrixDimI& N,
42 const bool& useRLLL);
43 static MatrixDimD getDSCLBasis(const Lattice<dim>& A,
44 const Lattice<dim>& B,
46 const MatrixDimI& M,
47 const MatrixDimI& N,
48 const bool& useRLLL);
49
50 public:
51
54 const MatrixDimI M;
55 const MatrixDimI N;
56 const int sigmaA;
57 const int sigmaB;
58 const int sigma;
63
64 /**********************************************************************/
66 const Lattice<dim>& B,
67 const bool& useRLLL=true);
68
69// LatticeDirection<dim> AtoCSLvector(const LatticeVector<dim>& v) const;
70
71 };
72
73
74} // end namespace
75#endif
76
const int sigmaA
Definition BiCrystal.h:56
const int sigmaB
Definition BiCrystal.h:57
const Lattice< dim > Ap
Definition BiCrystal.h:61
const int sigma
Definition BiCrystal.h:58
const Lattice< dim > Bp
Definition BiCrystal.h:62
const Lattice< dim > & A
Definition BiCrystal.h:52
const Lattice< dim > dscl
Definition BiCrystal.h:60
const Lattice< dim > csl
Definition BiCrystal.h:59
BiCrystal(const Lattice< dim > &A, const Lattice< dim > &B, const bool &useRLLL=true)
const MatrixDimI N
Definition BiCrystal.h:55
const Lattice< dim > & B
Definition BiCrystal.h:53
const MatrixDimI M
Definition BiCrystal.h:54
RationalMatrix(const MatrixDimD &R)
Eigen::Matrix< IntScalarType, dim, dim > MatrixDimI
Definition LatticeCore.h:28
long long int IntScalarType
Definition LatticeCore.h:26
Eigen::Matrix< double, dim, 1 > VectorDimD
Definition LatticeCore.h:24
Eigen::Matrix< double, dim, dim > MatrixDimD
Definition LatticeCore.h:25
Eigen::Matrix< IntScalarType, dim, 1 > VectorDimI
Definition LatticeCore.h:27