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

#include <DislocationNode.h>

Inheritance diagram for model::DislocationNode< dim >:
Collaboration diagram for model::DislocationNode< 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 SplineNode< DislocationNode< dim >, dim, 0, Hermite > SplineNodeType
typedef TypeTraits< NetworkNodeType >::MeshLocation MeshLocation
typedef std::vector< VectorDim > VectorOfNormalsType
typedef GlidePlane< dim > GlidePlaneType
typedef std::set< const GlidePlaneType * > GlidePlaneContainerType
typedef Polyhedron< dim, dim-1 > PlanarMeshFaceType
typedef std::set< const PlanarMeshFaceType * > PlanarMeshFaceContainerType
typedef Grain< dim > GrainType
typedef std::set< const GrainType * > GrainContainerType
typedef Eigen::Array< double, 1, ClusterDynamicsParameters< dim >::mSize > ClimbVelocityScalarType
Public Types inherited from model::NetworkNode< DislocationNode< dim > >
typedef DislocationNode< dim > NetworkNodeType
typedef TypeTraits< DislocationNode< dim > >::LoopType LoopType
typedef TypeTraits< DislocationNode< dim > >::LoopLinkType LoopLinkType
typedef std::set< LoopLinkType * > LoopLinkContainerType
typedef TypeTraits< DislocationNode< dim > >::NetworkLinkType NetworkLinkType
typedef TypeTraits< DislocationNode< dim > >::LoopNetworkType LoopNetworkType
typedef TypeTraits< DislocationNode< dim > >::LoopNodeType LoopNodeType
typedef std::set< LoopNodeType * > LoopNodeContainerType
typedef NetworkBase< DislocationNode< dim >, size_t > NetworkBaseType
typedef std::tuple< DislocationNode< dim > *const, NetworkLinkType *const > NeighborType
typedef std::map< size_t, NeighborType > NeighborContainerType
Public Types inherited from model::NetworkBase< DislocationNode< dim >, size_t >
typedef size_t KeyType

Public Member Functions

 DislocationNode (LoopNetworkType *const, const VectorDim &, const VectorDim &, const ClimbVelocityScalarType &, const double &)
 DislocationNode (LoopNetworkType *const, const VectorDim &)
 ~DislocationNode ()
std::shared_ptr< DislocationNode > clone () const
const Simplex< dim, dim > * get_includingSimplex (const VectorDim &, const Simplex< dim, dim > *const) const
const Simplex< dim, dim > * includingSimplex () const
bool isMovableTo (const VectorDim &) const
const double & velocityReduction () const
bool isBoundaryNode () const
bool isGrainBoundaryNode () const
void updateGeometry ()
bool set_P (const VectorDim &)
bool trySet_P (const VectorDim &)
const VectorDim & get_V () const
std::set< LoopType * > sessileLoops () const
MeshLocation meshLocation () const
void set_V (const VectorDim &vNew, const bool &isClimbingStep)
void projectVelocity (const bool &isClimbingStep)
VectorOfNormalsType physicalBoundaryNormals () const
VectorDim invariantDirectionOfMotion () const
GlidePlaneContainerType glidePlanes () const
PlanarMeshFaceContainerType meshFaces () const
bool isOnExternalBoundary () const
bool isOnInternalBoundary () const
bool isOnBoundary () const
VectorDim bndNormal () const
VectorDim snapToGlidePlanesinPeriodic (const VectorDim &P) const
GrainContainerType grains () const
VectorDim climbDirection () const
Public Member Functions inherited from model::NetworkNode< DislocationNode< dim > >
 NetworkNode (LoopNetworkType *const loopNetwork_in)
 ~NetworkNode ()
LoopLinkContainerType outLoopLinks () const
LoopLinkContainerType inLoopLinks () const
std::set< size_t > loopIDs () const
std::set< LoopType * > loops () const
const LoopNodeContainerType & loopNodes () const
void addLoopNode (LoopNodeType *const pN)
void removeLoopNode (LoopNodeType *const pN)
bool isContractableTo (const std::shared_ptr< DislocationNode< dim > > &) const
size_t gID () const
const NeighborContainerType & neighbors () const
void addToNeighborhood (NetworkLinkType *const pL)
void removeFromNeighborhood (NetworkLinkType *const pL)
std::string tag () const
Public Member Functions inherited from model::StaticID< DislocationNode< dim > >
 StaticID ()
Public Member Functions inherited from model::CRTP< DislocationNode< dim > >
 CRTP ()
 The default constructor.
Public Member Functions inherited from model::NetworkBase< DislocationNode< 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

Public Attributes

const Simplex< dim, dim > * p_Simplex
ClimbVelocityScalarType climbVelocityScalar
VectorDim velocity
VectorDim vOld
double velocityReductionCoeff
 The previous velocity vector of *this PlanarDislocationNode.
Public Attributes inherited from model::StaticID< DislocationNode< dim > >
const size_t sID
 The static ID of this.
Public Attributes inherited from model::NetworkBase< DislocationNode< dim >, size_t >
const KeyType key

Static Public Attributes

static int totalCappedNodes
Static Public Attributes inherited from model::NetworkNode< DislocationNode< dim > >
static int verboseLevel

Additional Inherited Members

Static Public Member Functions inherited from model::StaticID< DislocationNode< 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)
Protected Member Functions inherited from model::CRTP< DislocationNode< dim > >
DislocationNode< dim > & derived ()
 A reference to the derived object.
DislocationNode< dim > * p_derived ()
 A pointer to the derived object.

Detailed Description

template<int dim>
class model::DislocationNode< dim >

Definition at line 25 of file DislocationNode.h.

Member Typedef Documentation

◆ ClimbVelocityScalarType

template<int dim>
typedef Eigen::Array<double,1,ClusterDynamicsParameters<dim>::mSize> model::DislocationNode< dim >::ClimbVelocityScalarType

Definition at line 50 of file DislocationNode.h.

◆ FlowType

template<int dim>
typedef TraitsType::FlowType model::DislocationNode< dim >::FlowType

Definition at line 38 of file DislocationNode.h.

◆ GlidePlaneContainerType

template<int dim>
typedef std::set<const GlidePlaneType *> model::DislocationNode< dim >::GlidePlaneContainerType

Definition at line 45 of file DislocationNode.h.

◆ GlidePlaneType

template<int dim>
typedef GlidePlane<dim> model::DislocationNode< dim >::GlidePlaneType

Definition at line 44 of file DislocationNode.h.

◆ GrainContainerType

template<int dim>
typedef std::set<const GrainType*> model::DislocationNode< dim >::GrainContainerType

Definition at line 49 of file DislocationNode.h.

◆ GrainType

template<int dim>
typedef Grain<dim> model::DislocationNode< dim >::GrainType

Definition at line 48 of file DislocationNode.h.

◆ LoopLinkType

template<int dim>
typedef TraitsType::LoopLinkType model::DislocationNode< dim >::LoopLinkType

Definition at line 35 of file DislocationNode.h.

◆ LoopNetworkType

template<int dim>
typedef TraitsType::LoopNetworkType model::DislocationNode< dim >::LoopNetworkType

Definition at line 32 of file DislocationNode.h.

◆ LoopNodeType

Definition at line 34 of file DislocationNode.h.

◆ LoopType

template<int dim>
typedef TraitsType::LoopType model::DislocationNode< dim >::LoopType

Definition at line 33 of file DislocationNode.h.

◆ MeshLocation

template<int dim>
typedef TypeTraits<NetworkNodeType>::MeshLocation model::DislocationNode< dim >::MeshLocation

Definition at line 42 of file DislocationNode.h.

◆ NetworkLinkType

template<int dim>
typedef TraitsType::NetworkLinkType model::DislocationNode< dim >::NetworkLinkType

Definition at line 37 of file DislocationNode.h.

◆ NetworkNodeType

Definition at line 36 of file DislocationNode.h.

◆ PlanarMeshFaceContainerType

template<int dim>
typedef std::set<const PlanarMeshFaceType *> model::DislocationNode< dim >::PlanarMeshFaceContainerType

Definition at line 47 of file DislocationNode.h.

◆ PlanarMeshFaceType

template<int dim>
typedef Polyhedron<dim,dim-1> model::DislocationNode< dim >::PlanarMeshFaceType

Definition at line 46 of file DislocationNode.h.

◆ SplineNodeType

template<int dim>
typedef SplineNode<DislocationNode<dim>,dim,0,Hermite> model::DislocationNode< dim >::SplineNodeType

Definition at line 40 of file DislocationNode.h.

◆ TraitsType

template<int dim>
typedef TypeTraits<DislocationLoop<dim> > model::DislocationNode< dim >::TraitsType

Definition at line 31 of file DislocationNode.h.

◆ VectorDim

template<int dim>
typedef TraitsType::VectorDim model::DislocationNode< dim >::VectorDim

Definition at line 39 of file DislocationNode.h.

◆ VectorOfNormalsType

template<int dim>
typedef std::vector<VectorDim> model::DislocationNode< dim >::VectorOfNormalsType

Definition at line 43 of file DislocationNode.h.

Constructor & Destructor Documentation

◆ DislocationNode() [1/2]

template<int dim>
model::DislocationNode< dim >::DislocationNode ( LoopNetworkType * const net,
const VectorDim & P,
const VectorDim & V,
const ClimbVelocityScalarType & cvs,
const double & vrc )

Definition at line 19 of file DislocationNode.cpp.

◆ DislocationNode() [2/2]

template<int dim>
model::DislocationNode< dim >::DislocationNode ( LoopNetworkType * const net,
const VectorDim & P )

Definition at line 36 of file DislocationNode.cpp.

◆ ~DislocationNode()

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

Definition at line 65 of file DislocationNode.cpp.

Member Function Documentation

◆ bndNormal()

template<int dim>
DislocationNode< dim >::VectorDim model::DislocationNode< dim >::bndNormal ( ) const

Definition at line 519 of file DislocationNode.cpp.

◆ climbDirection()

template<int dim>
DislocationNode< dim >::VectorDim model::DislocationNode< dim >::climbDirection ( ) const

Definition at line 50 of file DislocationNode.cpp.

◆ clone()

template<int dim>
std::shared_ptr< DislocationNode< dim > > model::DislocationNode< dim >::clone ( ) const

Definition at line 72 of file DislocationNode.cpp.

◆ get_includingSimplex()

template<int dim>
const Simplex< dim, dim > * model::DislocationNode< dim >::get_includingSimplex ( const VectorDim & X,
const Simplex< dim, dim > * const guess ) const

Definition at line 78 of file DislocationNode.cpp.

◆ get_V()

template<int dim>
const DislocationNode< dim >::VectorDim & model::DislocationNode< dim >::get_V ( ) const

The nodal velocity vector

Definition at line 322 of file DislocationNode.cpp.

◆ glidePlanes()

template<int dim>
DislocationNode< dim >::GlidePlaneContainerType model::DislocationNode< dim >::glidePlanes ( ) const

Definition at line 445 of file DislocationNode.cpp.

◆ grains()

template<int dim>
DislocationNode< dim >::GrainContainerType model::DislocationNode< dim >::grains ( ) const

Definition at line 585 of file DislocationNode.cpp.

◆ includingSimplex()

template<int dim>
const Simplex< dim, dim > * model::DislocationNode< dim >::includingSimplex ( ) const
Returns
A pointer to the const Simplex imcluding *this PlanarDislocationNode

Definition at line 405 of file DislocationNode.cpp.

◆ invariantDirectionOfMotion()

template<int dim>
DislocationNode< dim >::VectorDim model::DislocationNode< dim >::invariantDirectionOfMotion ( ) const
Returns
the direction of alignment if all links connected to this node are geometrically aligned. Otherwise it returns the zero vector.

Definition at line 372 of file DislocationNode.cpp.

◆ isBoundaryNode()

template<int dim>
bool model::DislocationNode< dim >::isBoundaryNode ( ) const

Definition at line 421 of file DislocationNode.cpp.

◆ isGrainBoundaryNode()

template<int dim>
bool model::DislocationNode< dim >::isGrainBoundaryNode ( ) const

Definition at line 427 of file DislocationNode.cpp.

◆ isMovableTo()

template<int dim>
bool model::DislocationNode< dim >::isMovableTo ( const VectorDim & X) const

Definition at line 388 of file DislocationNode.cpp.

◆ isOnBoundary()

template<int dim>
bool model::DislocationNode< dim >::isOnBoundary ( ) const

Definition at line 513 of file DislocationNode.cpp.

◆ isOnExternalBoundary()

template<int dim>
bool model::DislocationNode< dim >::isOnExternalBoundary ( ) const
Returns
_isOnExternalBoundarySegment.

Definition at line 481 of file DislocationNode.cpp.

◆ isOnInternalBoundary()

template<int dim>
bool model::DislocationNode< dim >::isOnInternalBoundary ( ) const

Definition at line 498 of file DislocationNode.cpp.

◆ meshFaces()

template<int dim>
DislocationNode< dim >::PlanarMeshFaceContainerType model::DislocationNode< dim >::meshFaces ( ) const

Definition at line 459 of file DislocationNode.cpp.

◆ meshLocation()

template<int dim>
DislocationNode< dim >::MeshLocation model::DislocationNode< dim >::meshLocation ( ) const

Definition at line 350 of file DislocationNode.cpp.

◆ physicalBoundaryNormals()

template<int dim>
DislocationNode< dim >::VectorOfNormalsType model::DislocationNode< dim >::physicalBoundaryNormals ( ) const

Definition at line 126 of file DislocationNode.cpp.

◆ projectVelocity()

template<int dim>
void model::DislocationNode< dim >::projectVelocity ( const bool & isClimbingStep)

Definition at line 164 of file DislocationNode.cpp.

◆ sessileLoops()

template<int dim>
std::set< typename DislocationNode< dim >::LoopType * > model::DislocationNode< dim >::sessileLoops ( ) const

Definition at line 329 of file DislocationNode.cpp.

◆ set_P()

template<int dim>
bool model::DislocationNode< dim >::set_P ( const VectorDim & )

Definition at line 304 of file DislocationNode.cpp.

◆ set_V()

template<int dim>
void model::DislocationNode< dim >::set_V ( const VectorDim & vNew,
const bool & isClimbingStep )

Definition at line 187 of file DislocationNode.cpp.

◆ snapToGlidePlanesinPeriodic()

template<int dim>
DislocationNode< dim >::VectorDim model::DislocationNode< dim >::snapToGlidePlanesinPeriodic ( const VectorDim & P) const

Definition at line 539 of file DislocationNode.cpp.

◆ trySet_P()

template<int dim>
bool model::DislocationNode< dim >::trySet_P ( const VectorDim & )

Definition at line 258 of file DislocationNode.cpp.

◆ updateGeometry()

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

Definition at line 249 of file DislocationNode.cpp.

◆ velocityReduction()

template<int dim>
const double & model::DislocationNode< dim >::velocityReduction ( ) const

Definition at line 344 of file DislocationNode.cpp.

Member Data Documentation

◆ climbVelocityScalar

template<int dim>
ClimbVelocityScalarType model::DislocationNode< dim >::climbVelocityScalar

Definition at line 53 of file DislocationNode.h.

◆ p_Simplex

template<int dim>
const Simplex<dim,dim>* model::DislocationNode< dim >::p_Simplex

Definition at line 52 of file DislocationNode.h.

◆ totalCappedNodes

template<int dim>
int model::DislocationNode< dim >::totalCappedNodes
static

Definition at line 59 of file DislocationNode.h.

◆ velocity

template<int dim>
VectorDim model::DislocationNode< dim >::velocity

Definition at line 54 of file DislocationNode.h.

◆ velocityReductionCoeff

template<int dim>
double model::DislocationNode< dim >::velocityReductionCoeff

The previous velocity vector of *this PlanarDislocationNode.

Definition at line 56 of file DislocationNode.h.

◆ vOld

template<int dim>
VectorDim model::DislocationNode< dim >::vOld

Definition at line 55 of file DislocationNode.h.


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