Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
GammaSurface.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8
9#ifndef model_GammaSurface_H_
10#define model_GammaSurface_H_
11
12#include <memory>
13#include <assert.h>
14#include <LatticeModule.h>
15#include <PeriodicLatticeInterpolant.h>
16
17namespace model
18{
19
21 {
22
23 static constexpr int dim=3;
24 static constexpr int lowerDim=dim-1;
25
26 typedef Eigen::Matrix<double,dim,1> VectorDim;
27 typedef Eigen::Matrix<double,lowerDim,1> VectorLowerDim;
28 typedef Eigen::Matrix<size_t,lowerDim,1> VectorLowerDimI;
29 typedef Eigen::Matrix<double,dim,dim> MatrixDim;
30 typedef Eigen::Matrix<double,lowerDim,lowerDim> MatrixLowerDim;
31
33 const Eigen::Matrix<double,Eigen::Dynamic,lowerDim>& waveVectors,
34 const Eigen::Matrix<double,Eigen::Dynamic,lowerDim+1>& f,
35 const int& rotSymm,
36 const std::vector<Eigen::Matrix<double,lowerDim,1>>& mirSymm);
37
38 double misfitEnergy(const VectorLowerDim& b) const;
39
40 };
41
42}
43#endif
function int_R syms a b c u real f
Definition int_R.m:4
b
Definition int_R.m:16
Eigen::Matrix< double, lowerDim, 1 > VectorLowerDim
Eigen::Matrix< size_t, lowerDim, 1 > VectorLowerDimI
Eigen::Matrix< double, dim, dim > MatrixDim
GammaSurface(const MatrixLowerDim &A, const Eigen::Matrix< double, Eigen::Dynamic, lowerDim > &waveVectors, const Eigen::Matrix< double, Eigen::Dynamic, lowerDim+1 > &f, const int &rotSymm, const std::vector< Eigen::Matrix< double, lowerDim, 1 > > &mirSymm)
static constexpr int dim
Eigen::Matrix< double, dim, 1 > VectorDim
static constexpr int lowerDim
Eigen::Matrix< double, lowerDim, lowerDim > MatrixLowerDim
double misfitEnergy(const VectorLowerDim &b) const
const Eigen::Matrix< double, Eigen::Dynamic, dim > waveVectors
PeriodicLatticeInterpolant(const MatrixDim &A_in, const Eigen::Matrix< double, Eigen::Dynamic, dim > &waveVectors_in, const Eigen::Matrix< double, Eigen::Dynamic, dim+1 > &f, const int &rotSymm, const std::vector< Eigen::Matrix< double, dim, 1 > > &N)