5#ifndef OILAB_MESOSTATE_H
6#define OILAB_MESOSTATE_H
22 using Matrix=
typename Eigen::Matrix<IntScalarType,Eigen::Dynamic,Eigen::Dynamic>;
42 Eigen::VectorXi output(numberOfInteractingPlanes);
43 for(
int i=0; i<numberOfInteractingPlanes; ++i)
56 typename std::enable_if<dim==3,void>::type
57 box(
const int& heightFactor,
58 const int& dsclFactor,
59 const std::string& name)
const;
61 template <
typename T>
int sgn(T val)
const;
void insertDislocation(const Triplet &)
std::set< int > getOrthogonalPlaneIndices(const int ¶llelPlaneIndex) const
typename LatticeCore< dim >::VectorDimI VectorDimI
Triplet insertRandomDislocation(const int &dipoleSign)
std::vector< Triplet > currentState
typename LatticeCore< dim >::IntScalarType IntScalarType
LatticeCore< 3 >::VectorDimD VectorDimD
Eigen::VectorXi getLocalStateCount(const int &numberOfInteractingPlanes) const
MesoState(const ReferenceState< dim > &rS, const double &a2, const int &nImages)
Triplet insertRandomDislocation()
std::vector< Triplet > defectsIndices
void removeDislocation(const Triplet &t)
MesoState(const Gb< dim > &gb, const ReciprocalLatticeVector< dim > &axis, const int &periodScaling, const double &a2, const int &nImages)
bool operator<(const MesoState &rhs) const
typename Eigen::Matrix< IntScalarType, Eigen::Dynamic, Eigen::Dynamic > Matrix
Triplet removeRandomDislocation()
std::enable_if< dim==3, void >::type box(const int &heightFactor, const int &dsclFactor, const std::string &name) const
const ReciprocalLatticeVector< dim > & axis
Eigen::Matrix< double, dim, 1 > VectorDimD
long long int IntScalarType
Eigen::Matrix< IntScalarType, dim, 1 > VectorDimI