oILAB
Loading...
Searching...
No Matches
DislocationDipole.h
Go to the documentation of this file.
1//
2// Created by Nikhil Chandra Admal on 2/17/24.
3//
4
5#ifndef OILAB_DISLOCATIONDIPOLE_H
6#define OILAB_DISLOCATIONDIPOLE_H
7#include "Eigen/Dense"
8
9namespace gbLAB {
11 {
12 using Matrix2d= Eigen::Matrix2d;
13 using Vector2d= Eigen::Vector2d;
14
15 template <typename T> int sgn(T val) const
16 {
17 return (T(0) < val) - (val < T(0));
18 }
19 public:
20 //const Matrix2d ends;
21 //const Vector2d b;
22 //const Vector2d shift;
23 //const int nImages;
28
29 DislocationDipole(const Matrix2d& end_in,const Vector2d& b_in,
30 const Vector2d& shift_in, const int& nImages_in);
31
32 double solidAngle(const Vector2d& x, const int& branch) const;
33 Vector2d solidAngleGradient(const Vector2d& x, const int& branch) const;
34 Vector2d displacement(const Vector2d& x, const int& branch) const;
35 static std::pair<Vector2d,double> localPosition(const Vector2d& A,const Vector2d& B,const Vector2d& x);
36
37 };
38}
39#endif //OILAB_DISLOCATIONDIPOLE_H
double solidAngle(const Vector2d &x, const int &branch) const
static std::pair< Vector2d, double > localPosition(const Vector2d &A, const Vector2d &B, const Vector2d &x)
DislocationDipole(const Matrix2d &end_in, const Vector2d &b_in, const Vector2d &shift_in, const int &nImages_in)
Vector2d displacement(const Vector2d &x, const int &branch) const
Vector2d solidAngleGradient(const Vector2d &x, const int &branch) const