10#ifndef model_DislocationQuadraturePoint_H_
11#define model_DislocationQuadraturePoint_H_
50 typedef QuadratureDynamic<1,UniformOpen,1,2,3,4,5,6,7,8,16,32,64,128,256,512,1024> QuadratureDynamicType;
51 typedef QuadPowDynamic<pOrder,UniformOpen,1,2,3,4,5,6,7,8,16,32,64,128,256,512,1024> QuadPowDynamicType;
61 const Eigen::Matrix<double,1,Ncoeff>
SF;
78 Eigen::Matrix<double,1,ClusterDynamicsParameters<dim>::mSize>
cCD;
79 Eigen::Matrix<double,1,ClusterDynamicsParameters<dim>::mSize>
cDD;
83 const int&
q,
const int& qOrder,
87 const size_t sinkID_in,
88 const int&
q,
const int& qOrder,
115 typedef Eigen::Matrix<double,dim,1> VectorDim;
116 typedef Eigen::Matrix<double,Ndof,1> VectorNdof;
117 typedef Eigen::Matrix<double,Ndof,Ndof> MatrixNdof;
118 typedef Eigen::Matrix<double,dim,dim> MatrixDim;
119 typedef Eigen::Matrix<double,dim,Ndof> MatrixDimNdof;
122 typedef std::deque<DislocationQuadraturePointType> BaseContainerType;
123 typedef Eigen::Matrix<double,Ncoeff,Ncoeff> MatrixNcoeff;
124 typedef Eigen::Matrix<double,Ncoeff,dim> MatrixNcoeffDim;
129 VectorNdof nodalVelocityLinearKernel(
const int&
k)
const;
130 MatrixNdof nodalVelocityBilinearKernel(
const int&
k)
const;
131 VectorDim pkKernel(
const int&
k)
const;
132 MatrixDim stressKernel(
const int&
k)
const;
133 VectorDim glideVelocityKernel(
const int&
k)
const;
141 void update(
const LinkType& parentSegment,
const bool& isClimbStep);
142 void create(
const LinkType& parentSegment,
const double&
quadPerLength,
const bool& isClimbStep);
VectorDim glideVelocityIntegral() const
const DislocationQuadraturePointType & quadraturePoint(const int &k) const
VectorNdof nodalVelocityVector(const LinkType &parentSegment) const
VectorDim pkIntegral() const
void create(const LinkType &parentSegment, const double &quadPerLength, const bool &isClimbStep)
void update(const LinkType &parentSegment, const bool &isClimbStep)
MatrixNdof nodalVelocityMatrix(const LinkType &parentSegment) const
MatrixDim stressIntegral() const
const DislocationQuadraturePointContainerType & quadraturePoints() const
the magnitude of the R vector q
double DislocationSegment< dim >::quadPerLength
double coreEnergyPerLength
Eigen::Matrix< double, Ncoeff, dim > MatrixNcoeffDim
static constexpr int Ndof
DislocationSegment< dim > LinkType
const Eigen::Matrix< double, 1, Ncoeff > SF
static constexpr int pOrder
static constexpr int Ncoeff
MatrixDim forceToStress(const VectorDim &force, const VectorDim &unitTangent, const LinkType &parentSegment) const
void updateForcesAndVelocities(const LinkType &parentSegment, const bool &isClimbStep)
std::pair< VectorDim, VectorDim > slipVectors
MatrixDimNdof SFgaussEx() const
DislocationQuadraturePoint()
Eigen::Matrix< double, dim, Ndof > MatrixDimNdof
Eigen::Matrix< double, 1, ClusterDynamicsParameters< dim >::mSize > cDD
Eigen::Matrix< double, dim, dim > MatrixDim
VectorDim stackingFaultForce
VectorDim lineTensionForce
DislocationQuadraturePoint(const LinkType &parentSegment, const int &q, const int &qOrder, const MatrixNcoeff &SFCH, const MatrixNcoeffDim &qH)
Eigen::Matrix< double, Ncoeff, Ncoeff > MatrixNcoeff
QuadratureDynamic< 1, UniformOpen, 1, 2, 3, 4, 5, 6, 7, 8, 16, 32, 64, 128, 256, 512, 1024 > QuadratureDynamicType
double elasticEnergyPerLength
Eigen::Matrix< float, dim, dim > MatrixDimF
Eigen::Matrix< double, 1, ClusterDynamicsParameters< dim >::mSize > cCD
static constexpr int corder
DislocationQuadraturePoint(const size_t sourceID_in, const size_t sinkID_in, const int &q, const int &qOrder, const MatrixNcoeff &SFCH, const MatrixNcoeffDim &qH)
static VectorDim getGlideVelocity(const LinkType &parentSegment, const VectorDim &r, const VectorDim &fPK, const MatrixDim &S, const VectorDim &rl, const double &dL, const int &inclusionID)
Eigen::Matrix< double, dim, 1 > VectorDim
QuadPowDynamic< pOrder, UniformOpen, 1, 2, 3, 4, 5, 6, 7, 8, 16, 32, 64, 128, 256, 512, 1024 > QuadPowDynamicType
static constexpr int Ncoeff
static constexpr int pOrder
static constexpr int Ndof