8#ifndef model_DislocationSegment_h_
9#define model_DislocationSegment_h_
12#include <Eigen/Sparse>
23#define VerboseDislocationSegment(N,x) if(verboseDislocationSegment>=N){std::cout<<x;}
25#define VerboseDislocationSegment(N,x)
90 const std::shared_ptr<NetworkNodeType>&,
91 const std::shared_ptr<NetworkNodeType>&
103 const std::shared_ptr<SlipSystem>&
slipSystem()
const;
111 void addToGlobalAssembly(std::deque<Eigen::Triplet<double> >& kqqT,Eigen::VectorXd& FQ)
const;
114 const size_t sourceIndex,
const size_t sinkIndex)
const;
117 int velocityGroup(
const double &maxVelocity,
const std::set<int> &subcyclingBins)
const;
ConcentrationMatrixType concentrationMatrices(const VectorDim &x, const ClusterDynamicsParameters< dim > &icp) const
std::set< const GlidePlaneType * > GlidePlaneContainerType
MeshLocation meshLocation() const
TypeTraits< DislocationSegment< dim > > TraitsType
TraitsType::MatrixDim MatrixDim
static int verboseDislocationSegment
bool isGrainBoundarySegment() const
std::set< const PlanarMeshFaceType * > PlanarMeshFaceContainerType
Eigen::Matrix< double, mSize, 1 > ConcentrationVectorType
static constexpr int Ndof
TraitsType::VectorDim VectorDim
PlanarMeshFaceContainerType meshFaces() const
bool isOnInternalBoundary() const
Eigen::Matrix< double, mSize, 2 > ConcentrationMatrixType
GlidePlaneContainerType glidePlanes() const
StraightDislocationSegment< dim > straight
static constexpr int mSize
void addToGlobalAssembly(std::deque< Eigen::Triplet< double > > &kqqT, Eigen::VectorXd &FQ) const
bool isBoundarySegment() const
DislocationSegment(LoopNetworkType *const net, const std::shared_ptr< NetworkNodeType > &, const std::shared_ptr< NetworkNodeType > &)
void updateQuadraturePoints(const bool &isClimbStep)
VectorDim snapToGlidePlanes(const VectorDim &P) const
const VectorDim & glidePlaneNormal() const
TraitsType::LoopNodeType LoopNodeType
static constexpr int Ncoeff
TraitsType::NetworkNodeType NetworkNodeType
std::set< const GrainType * > GrainContainerType
TraitsType::LoopType LoopType
static void initFromFile(const std::string &)
static const VectorDim zeroVector
VectorDim climbDirection() const
std::vector< std::pair< const GlidePlane< dim > *const, const GlidePlane< dim > *const > > parallelAndCoincidentGlidePlanes(const GlidePlaneContainerType &other) const
void createQuadraturePoints(const bool &isClimbStep)
const VectorDim & burgers() const
double BurgersNorm
The Burgers vector.
GlidePlane< dim > GlidePlaneType
bool isOnBoundary() const
TraitsType::FlowType FlowType
void removeLoopLink(LoopLinkType *const pL)
bool hasZeroBurgers() const
void addLoopLink(LoopLinkType *const pL)
Polyhedron< dim, dim-1 > PlanarMeshFaceType
SplineSegment< dim, 0 > SplineSegmentType
SplineSegmentType::VectorNdof VectorNdof
GrainContainerType grains() const
static double quadPerLength
const std::shared_ptr< SlipSystem > & slipSystem() const
std::shared_ptr< SlipSystem > _slipSystem
int velocityGroup(const double &maxVelocity, const std::set< int > &subcyclingBins) const
VectorDim bndNormal() const
SplineSegmentType::MatrixNdof MatrixNdof
TraitsType::LoopNetworkType LoopNetworkType
bool isOnExternalBoundary() const
TraitsType::LoopLinkType LoopLinkType
DislocationQuadraturePoint< dim >::QuadratureDynamicType QuadratureDynamicType
ConcentrationVectorType clusterConcentration(const VectorDim &x, const ClusterDynamicsParameters< dim > &icp) const
SplineSegmentType::VectorNcoeff VectorNcoeff
TraitsType::NetworkLinkType NetworkLinkType
TraitsType::MeshLocation MeshLocation
NetworkLink(LoopNetworkType *const loopNetwork, const std::shared_ptr< NetworkNodeType > &nI, const std::shared_ptr< NetworkNodeType > &nJ)
Eigen::Matrix< double, Ndof, Ndof > MatrixNdof
Eigen::Matrix< double, Ncoeff, 1 > VectorNcoeff
static constexpr int Ndof
Eigen::Matrix< double, Ndof, 1 > VectorNdof
SplineSegment(const VectorDim &sourceP_in, const VectorDim &sinkP_in)
static constexpr int Ncoeff
static constexpr int mSize
DislocationLoopLink< dim > LoopLinkType
DislocationLoopNode< dim > LoopNodeType
RationalLatticeDirectionType FlowType
Eigen::Matrix< double, dim, dim > MatrixDim
DislocationSegment< dim > NetworkLinkType
DislocationNode< dim > NetworkNodeType
DislocationNetwork< dim > LoopNetworkType
DislocationLoop< dim > LoopType
Eigen::Matrix< double, dim, 1 > VectorDim
QuadratureDynamic< 1, UniformOpen, 1, 2, 3, 4, 5, 6, 7, 8, 16, 32, 64, 128, 256, 512, 1024 > QuadratureDynamicType