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

#include <MesoState.h>

+ Inheritance diagram for gbLAB::MesoState< dim >:

Public Member Functions

 MesoState (const Gb< dim > &gb, const ReciprocalLatticeVector< dim > &axis, const int &periodScaling, const double &a2, const int &nImages)
 
 MesoState (const ReferenceState< dim > &rS, const double &a2, const int &nImages)
 
double energy () const
 
Eigen::VectorXi getLocalStateCount (const int &numberOfInteractingPlanes) const
 
void insertDislocation (const Triplet &)
 
Triplet removeRandomDislocation ()
 
void removeDislocation (const Triplet &t)
 
Triplet insertRandomDislocation (const int &dipoleSign)
 
Triplet insertRandomDislocation ()
 
std::set< int > getOrthogonalPlaneIndices (const int &parallelPlaneIndex) const
 
std::enable_if< dim==3, void >::type box (const int &heightFactor, const int &dsclFactor, const std::string &name) const
 
template<typename T >
int sgn (T val) const
 
bool operator< (const MesoState &rhs) const
 
- Public Member Functions inherited from gbLAB::ReferenceState< dim >
 ReferenceState (const Gb< dim > &gb, const ReciprocalLatticeVector< dim > &axis, const int &periodScaling)
 
int numberOfPlanesOrthogonalToGB () const
 
LatticeVector< dim > shiftLatticeVector () const
 
- Public Member Functions inherited from gbLAB::Dislocations
 Dislocations (const double &a2, const double &shiftSize, const int &nImages)
 
void insertDislocationDipole (Matrix2d &ends, Vector2d &b)
 
void removeDislocationDipole (const int &index)
 
Vector2d deformationMap (const Vector2d &X, const int &branch) const
 
double edgeElasticEnergyKernel (const Vector2d &x1, const Vector2d &x2, const Vector2d &b1, const Vector2d &b2) const
 
double elasticEnergy () const
 

Data Fields

std::vector< Triplet > currentState
 
std::vector< Triplet > defectsIndices
 
- Data Fields inherited from gbLAB::ReferenceState< dim >
const Gb< dim > & gb
 
const ReciprocalLatticeVector< dim > & axis
 
const int periodScaling
 
std::map< Triplet > refState
 
Eigen::VectorXd planeEnergies
 
- Data Fields inherited from gbLAB::Dislocations
const double a2
 
const Vector2d shift
 
const int nImages
 

Private Types

using IntScalarType = typename LatticeCore< dim >::IntScalarType
 
using VectorDimD = LatticeCore< 3 >::VectorDimD
 
using VectorDimI = typename LatticeCore< dim >::VectorDimI
 
using Matrix = typename Eigen::Matrix< IntScalarType, Eigen::Dynamic, Eigen::Dynamic >
 
using Vector2d = Eigen::Vector2d
 
using Matrix2d = Eigen::Matrix2d
 

Detailed Description

template<int dim>
class gbLAB::MesoState< dim >

Definition at line 17 of file MesoState.h.

Member Typedef Documentation

◆ IntScalarType

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

Definition at line 19 of file MesoState.h.

◆ Matrix

template<int dim>
using gbLAB::MesoState< dim >::Matrix = typename Eigen::Matrix<IntScalarType,Eigen::Dynamic,Eigen::Dynamic>
private

Definition at line 22 of file MesoState.h.

◆ Matrix2d

template<int dim>
using gbLAB::MesoState< dim >::Matrix2d = Eigen::Matrix2d
private

Definition at line 24 of file MesoState.h.

◆ Vector2d

template<int dim>
using gbLAB::MesoState< dim >::Vector2d = Eigen::Vector2d
private

Definition at line 23 of file MesoState.h.

◆ VectorDimD

template<int dim>
using gbLAB::MesoState< dim >::VectorDimD = LatticeCore<3>::VectorDimD
private

Definition at line 20 of file MesoState.h.

◆ VectorDimI

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

Definition at line 21 of file MesoState.h.

Constructor & Destructor Documentation

◆ MesoState() [1/2]

template<int dim>
gbLAB::MesoState< dim >::MesoState ( const Gb< dim > &  gb,
const ReciprocalLatticeVector< dim > &  axis,
const int &  periodScaling,
const double &  a2,
const int &  nImages 
)
explicit

◆ MesoState() [2/2]

template<int dim>
gbLAB::MesoState< dim >::MesoState ( const ReferenceState< dim > &  rS,
const double &  a2,
const int &  nImages 
)
explicit

Member Function Documentation

◆ box()

template<int dim>
std::enable_if< dim==3, void >::type gbLAB::MesoState< dim >::box ( const int &  heightFactor,
const int &  dsclFactor,
const std::string &  name 
) const

◆ energy()

template<int dim>
double gbLAB::MesoState< dim >::energy ( ) const

◆ getLocalStateCount()

template<int dim>
Eigen::VectorXi gbLAB::MesoState< dim >::getLocalStateCount ( const int &  numberOfInteractingPlanes) const
inline

Definition at line 40 of file MesoState.h.

◆ getOrthogonalPlaneIndices()

template<int dim>
std::set< int > gbLAB::MesoState< dim >::getOrthogonalPlaneIndices ( const int &  parallelPlaneIndex) const

◆ insertDislocation()

template<int dim>
void gbLAB::MesoState< dim >::insertDislocation ( const Triplet &  )

◆ insertRandomDislocation() [1/2]

template<int dim>
Triplet gbLAB::MesoState< dim >::insertRandomDislocation ( )

◆ insertRandomDislocation() [2/2]

template<int dim>
Triplet gbLAB::MesoState< dim >::insertRandomDislocation ( const int &  dipoleSign)

◆ operator<()

template<int dim>
bool gbLAB::MesoState< dim >::operator< ( const MesoState< dim > &  rhs) const

◆ removeDislocation()

template<int dim>
void gbLAB::MesoState< dim >::removeDislocation ( const Triplet &  t)

◆ removeRandomDislocation()

template<int dim>
Triplet gbLAB::MesoState< dim >::removeRandomDislocation ( )

◆ sgn()

template<int dim>
template<typename T >
int gbLAB::MesoState< dim >::sgn ( val) const

Field Documentation

◆ currentState

template<int dim>
std::vector<Triplet> gbLAB::MesoState< dim >::currentState

Definition at line 28 of file MesoState.h.

◆ defectsIndices

template<int dim>
std::vector<Triplet> gbLAB::MesoState< dim >::defectsIndices

Definition at line 29 of file MesoState.h.


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