Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::DislocationLoop< _dim > Class Template Reference

#include <DislocationLoop.h>

Inheritance diagram for model::DislocationLoop< _dim >:
Collaboration diagram for model::DislocationLoop< _dim >:

Public Types

typedef TypeTraits< DislocationLoop< _dim > > TraitsType
typedef TraitsType::LoopNetworkType LoopNetworkType
typedef TraitsType::LoopType LoopType
typedef TraitsType::LoopNodeType LoopNodeType
typedef TraitsType::LoopLinkType LoopLinkType
typedef TraitsType::NetworkNodeType NetworkNodeType
typedef TraitsType::NetworkLinkType NetworkLinkType
typedef TraitsType::FlowType FlowType
typedef TraitsType::VectorDim VectorDim
typedef TraitsType::MatrixDim MatrixDim
typedef TraitsType::GrainType GrainType
typedef TraitsType::GlidePlaneType GlidePlaneType
typedef TraitsType::PeriodicGlidePlaneType PeriodicGlidePlaneType
typedef TraitsType::ReciprocalLatticeDirectionType ReciprocalLatticeDirectionType
Public Types inherited from model::Loop< DislocationLoop< _dim > >
typedef TypeTraits< DislocationLoop< _dim > >::LoopNetworkType LoopNetworkType
typedef NetworkBase< DislocationLoop< _dim >, size_t > NetworkBaseType
typedef TypeTraits< DislocationLoop< _dim > >::LoopNodeType LoopNodeType
typedef TypeTraits< DislocationLoop< _dim > >::LoopLinkType LoopLinkType
typedef std::set< LoopLinkType * > LoopLinkContainerType
typedef std::deque< const LoopLinkType * > LoopLinkSequenceType
typedef std::deque< std::pair< std::shared_ptr< LoopNodeType >, std::shared_ptr< LoopNodeType > > > LoopNodeSequenceType
typedef TypeTraits< LoopLinkType >::FlowType FlowType
Public Types inherited from model::NetworkBase< DislocationLoop< _dim >, size_t >
typedef size_t KeyType

Public Member Functions

 DislocationLoop (LoopNetworkType *const, const VectorDim &, const std::shared_ptr< GlidePlaneType > &glidePlane_in)
 ~DislocationLoop ()
std::shared_ptr< LoopType > clone () const
VectorDim currentAreaVector () const
double currentAreaRate () const
const double & slippedArea () const
const double & slippedAreaRate () const
const VectorDim & rightHandedUnitNormal () const
const VectorDim & rightHandedUnitNormalOld () const
const ReciprocalLatticeDirectionType & rightHandedNormal () const
std::tuple< double, double, double, double > loopLength () const
std::shared_ptr< SlipSystem > searchSlipSystem () const
void updateSlipSystem ()
void updateGeometry ()
void updateRates ()
MatrixDim averagePlasticDistortion () const
MatrixDim averagePlasticDistortionRate () const
VectorDim burgers () const
const std::shared_ptr< SlipSystem > & slipSystem () const
bool isVirtualBoundaryLoop () const
double solidAngle (const VectorDim &x) const
void crossSlipBranches (std::deque< CrossSlipBranch< _dim > > &csNodes, const double dt=-1.0) const
const DislocationLoopPatches< _dim > & patches () const
std::vector< MeshedDislocationLoop > meshed (const double &meshSize, const double &localMeshSize) const
bool flippedInsideOut (const int &N, const double &areaThreshold) const
Public Member Functions inherited from model::Loop< DislocationLoop< _dim > >
 Loop (LoopNetworkType *const loopNetwork_in, const FlowType &f)
 ~Loop ()
void update ()
const FlowType & flow () const
LoopLinkContainerType & loopLinks ()
void addLoopLink (LoopLinkType *const pL)
void removeLoopLink (LoopLinkType *const pL)
LoopLinkSequenceType linkSequence () const
LoopNodeSequenceType nodeSequence () const
std::deque< size_t > nodeIDSequence () const
std::pair< bool, LoopLinkType * > linkStartingAt (const std::shared_ptr< LoopNodeType > &Ni) const
bool isLoop () const
bool isIsolated () const
std::string tag () const
void printLoop () const
Public Member Functions inherited from model::CRTP< DislocationLoop< _dim > >
 CRTP ()
 The default constructor.
Public Member Functions inherited from model::StaticID< DislocationLoop< _dim > >
 StaticID ()
Public Member Functions inherited from model::NetworkBase< DislocationLoop< _dim >, size_t >
 NetworkBase (const NetworkBase< LoopNetworkType, KeyType > &)=delete
NetworkBase & operator= (const NetworkBase< LoopNetworkType, KeyType > &other)=delete
 ~NetworkBase ()
const LoopNetworkType & network () const
LoopNetworkType * p_network () const
size_t networkID () const

Static Public Member Functions

static void initFromFile (const std::string &)
static double planarSolidAngle (const VectorDim &x, const VectorDim &planePoint, const VectorDim &rhN, const std::vector< std::pair< VectorDim, VectorDim > > &polygonSegments)
template<typename T>
static int sgn (const T &val)
Static Public Member Functions inherited from model::StaticID< DislocationLoop< _dim > >
static size_t nextID ()
static size_t & get_count ()
static void set_count (const size_t &newCount)
static void force_count (const size_t &newCount)
static void set_increment (const size_t &newIncrement)

Public Attributes

const std::shared_ptr< GlidePlaneType > glidePlane
const std::shared_ptr< PeriodicGlidePlaneType > periodicGlidePlane
DislocationLoopPatches< _dim > _patches
const GrainType & grain
const int loopType
Public Attributes inherited from model::StaticID< DislocationLoop< _dim > >
const size_t sID
 The static ID of this.
Public Attributes inherited from model::NetworkBase< DislocationLoop< _dim >, size_t >
const KeyType key

Static Public Attributes

static int verboseDislocationLoop
Static Public Attributes inherited from model::Loop< DislocationLoop< _dim > >
static int verboseLevel

Additional Inherited Members

Protected Member Functions inherited from model::CRTP< DislocationLoop< _dim > >
DislocationLoop< _dim > & derived ()
 A reference to the derived object.
DislocationLoop< _dim > * p_derived ()
 A pointer to the derived object.

Detailed Description

template<int _dim>
class model::DislocationLoop< _dim >

Definition at line 26 of file DislocationLoop.h.

Member Typedef Documentation

◆ FlowType

template<int _dim>
typedef TraitsType::FlowType model::DislocationLoop< _dim >::FlowType

Definition at line 38 of file DislocationLoop.h.

◆ GlidePlaneType

template<int _dim>
typedef TraitsType::GlidePlaneType model::DislocationLoop< _dim >::GlidePlaneType

Definition at line 42 of file DislocationLoop.h.

◆ GrainType

template<int _dim>
typedef TraitsType::GrainType model::DislocationLoop< _dim >::GrainType

Definition at line 41 of file DislocationLoop.h.

◆ LoopLinkType

template<int _dim>
typedef TraitsType::LoopLinkType model::DislocationLoop< _dim >::LoopLinkType

Definition at line 35 of file DislocationLoop.h.

◆ LoopNetworkType

template<int _dim>
typedef TraitsType::LoopNetworkType model::DislocationLoop< _dim >::LoopNetworkType

Definition at line 32 of file DislocationLoop.h.

◆ LoopNodeType

template<int _dim>
typedef TraitsType::LoopNodeType model::DislocationLoop< _dim >::LoopNodeType

Definition at line 34 of file DislocationLoop.h.

◆ LoopType

template<int _dim>
typedef TraitsType::LoopType model::DislocationLoop< _dim >::LoopType

Definition at line 33 of file DislocationLoop.h.

◆ MatrixDim

template<int _dim>
typedef TraitsType::MatrixDim model::DislocationLoop< _dim >::MatrixDim

Definition at line 40 of file DislocationLoop.h.

◆ NetworkLinkType

template<int _dim>
typedef TraitsType::NetworkLinkType model::DislocationLoop< _dim >::NetworkLinkType

Definition at line 37 of file DislocationLoop.h.

◆ NetworkNodeType

template<int _dim>
typedef TraitsType::NetworkNodeType model::DislocationLoop< _dim >::NetworkNodeType

Definition at line 36 of file DislocationLoop.h.

◆ PeriodicGlidePlaneType

template<int _dim>
typedef TraitsType::PeriodicGlidePlaneType model::DislocationLoop< _dim >::PeriodicGlidePlaneType

Definition at line 43 of file DislocationLoop.h.

◆ ReciprocalLatticeDirectionType

template<int _dim>
typedef TraitsType::ReciprocalLatticeDirectionType model::DislocationLoop< _dim >::ReciprocalLatticeDirectionType

Definition at line 44 of file DislocationLoop.h.

◆ TraitsType

template<int _dim>
typedef TypeTraits<DislocationLoop<_dim> > model::DislocationLoop< _dim >::TraitsType

Definition at line 31 of file DislocationLoop.h.

◆ VectorDim

template<int _dim>
typedef TraitsType::VectorDim model::DislocationLoop< _dim >::VectorDim

Definition at line 39 of file DislocationLoop.h.

Constructor & Destructor Documentation

◆ DislocationLoop()

template<int dim>
model::DislocationLoop< dim >::DislocationLoop ( LoopNetworkType * const net,
const VectorDim & B,
const std::shared_ptr< GlidePlaneType > & glidePlane_in )

Definition at line 22 of file DislocationLoop.cpp.

◆ ~DislocationLoop()

template<int dim>
model::DislocationLoop< dim >::~DislocationLoop ( )

Definition at line 190 of file DislocationLoop.cpp.

Member Function Documentation

◆ averagePlasticDistortion()

template<int dim>
DislocationLoop< dim >::MatrixDim model::DislocationLoop< dim >::averagePlasticDistortion ( ) const

Definition at line 427 of file DislocationLoop.cpp.

◆ averagePlasticDistortionRate()

template<int dim>
DislocationLoop< dim >::MatrixDim model::DislocationLoop< dim >::averagePlasticDistortionRate ( ) const

Definition at line 433 of file DislocationLoop.cpp.

◆ burgers()

template<int dim>
DislocationLoop< dim >::VectorDim model::DislocationLoop< dim >::burgers ( ) const

Definition at line 439 of file DislocationLoop.cpp.

◆ clone()

template<int dim>
std::shared_ptr< typename TypeTraits< DislocationLoop< dim > >::LoopType > model::DislocationLoop< dim >::clone ( ) const

Definition at line 202 of file DislocationLoop.cpp.

◆ crossSlipBranches()

template<int _dim>
void model::DislocationLoop< dim >::crossSlipBranches ( std::deque< CrossSlipBranch< _dim > > & csNodes,
const double dt = -1.0 ) const

Definition at line 45 of file DislocationLoop.cpp.

◆ currentAreaRate()

template<int dim>
double model::DislocationLoop< dim >::currentAreaRate ( ) const

Definition at line 229 of file DislocationLoop.cpp.

◆ currentAreaVector()

template<int dim>
DislocationLoop< dim >::VectorDim model::DislocationLoop< dim >::currentAreaVector ( ) const

Definition at line 214 of file DislocationLoop.cpp.

◆ flippedInsideOut()

template<int dim>
bool model::DislocationLoop< dim >::flippedInsideOut ( const int & N,
const double & areaThreshold ) const
Returns
true if during the current time step This is meant to be called between DislocationNetwork::moveNodes and DislocationNetwork::updateGeometry, In this case, nodes have moved but right-handed normal has not been updated

Definition at line 500 of file DislocationLoop.cpp.

◆ initFromFile()

template<int dim>
void model::DislocationLoop< dim >::initFromFile ( const std::string & fileName)
static

Definition at line 208 of file DislocationLoop.cpp.

◆ isVirtualBoundaryLoop()

template<int dim>
bool model::DislocationLoop< dim >::isVirtualBoundaryLoop ( ) const

Definition at line 276 of file DislocationLoop.cpp.

◆ loopLength()

template<int dim>
std::tuple< double, double, double, double > model::DislocationLoop< dim >::loopLength ( ) const

Definition at line 384 of file DislocationLoop.cpp.

◆ meshed()

template<int dim>
std::vector< MeshedDislocationLoop > model::DislocationLoop< dim >::meshed ( const double & meshSize,
const double & localMeshSize ) const

Definition at line 627 of file DislocationLoop.cpp.

◆ patches()

template<int dim>
const DislocationLoopPatches< dim > & model::DislocationLoop< dim >::patches ( ) const

Definition at line 196 of file DislocationLoop.cpp.

◆ planarSolidAngle()

template<int dim>
double model::DislocationLoop< dim >::planarSolidAngle ( const VectorDim & x,
const VectorDim & planePoint,
const VectorDim & rhN,
const std::vector< std::pair< VectorDim, VectorDim > > & polygonSegments )
static

Definition at line 282 of file DislocationLoop.cpp.

◆ rightHandedNormal()

template<int dim>
const DislocationLoop< dim >::ReciprocalLatticeDirectionType & model::DislocationLoop< dim >::rightHandedNormal ( ) const

Definition at line 270 of file DislocationLoop.cpp.

◆ rightHandedUnitNormal()

template<int dim>
const DislocationLoop< dim >::VectorDim & model::DislocationLoop< dim >::rightHandedUnitNormal ( ) const

Definition at line 258 of file DislocationLoop.cpp.

◆ rightHandedUnitNormalOld()

template<int dim>
const DislocationLoop< dim >::VectorDim & model::DislocationLoop< dim >::rightHandedUnitNormalOld ( ) const

Definition at line 264 of file DislocationLoop.cpp.

◆ searchSlipSystem()

template<int dim>
std::shared_ptr< SlipSystem > model::DislocationLoop< dim >::searchSlipSystem ( ) const

Definition at line 414 of file DislocationLoop.cpp.

◆ sgn()

template<int dim>
template<typename T>
int model::DislocationLoop< dim >::sgn ( const T & val)
static

Definition at line 327 of file DislocationLoop.cpp.

◆ slippedArea()

template<int dim>
const double & model::DislocationLoop< dim >::slippedArea ( ) const

Definition at line 246 of file DislocationLoop.cpp.

◆ slippedAreaRate()

template<int dim>
const double & model::DislocationLoop< dim >::slippedAreaRate ( ) const

Definition at line 252 of file DislocationLoop.cpp.

◆ slipSystem()

template<int dim>
const std::shared_ptr< SlipSystem > & model::DislocationLoop< dim >::slipSystem ( ) const

Definition at line 494 of file DislocationLoop.cpp.

◆ solidAngle()

template<int dim>
double model::DislocationLoop< dim >::solidAngle ( const VectorDim & x) const

Definition at line 333 of file DislocationLoop.cpp.

◆ updateGeometry()

template<int dim>
void model::DislocationLoop< dim >::updateGeometry ( )

Definition at line 532 of file DislocationLoop.cpp.

◆ updateRates()

template<int dim>
void model::DislocationLoop< dim >::updateRates ( )

Definition at line 608 of file DislocationLoop.cpp.

◆ updateSlipSystem()

template<int dim>
void model::DislocationLoop< dim >::updateSlipSystem ( )

Definition at line 445 of file DislocationLoop.cpp.

Member Data Documentation

◆ _patches

template<int _dim>
DislocationLoopPatches<_dim> model::DislocationLoop< _dim >::_patches

Definition at line 49 of file DislocationLoop.h.

◆ glidePlane

template<int _dim>
const std::shared_ptr<GlidePlaneType> model::DislocationLoop< _dim >::glidePlane

Definition at line 47 of file DislocationLoop.h.

◆ grain

template<int _dim>
const GrainType& model::DislocationLoop< _dim >::grain

Definition at line 50 of file DislocationLoop.h.

◆ loopType

template<int _dim>
const int model::DislocationLoop< _dim >::loopType

Definition at line 51 of file DislocationLoop.h.

◆ periodicGlidePlane

template<int _dim>
const std::shared_ptr<PeriodicGlidePlaneType> model::DislocationLoop< _dim >::periodicGlidePlane

Definition at line 48 of file DislocationLoop.h.

◆ verboseDislocationLoop

template<int _dim>
int model::DislocationLoop< _dim >::verboseDislocationLoop
static

Definition at line 45 of file DislocationLoop.h.


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