8#ifndef model_MicrostructureBase_cpp_
9#define model_MicrostructureBase_cpp_
32 throw std::runtime_error(tag+
" physics is not enabled.");
45 Eigen::Matrix<double,Eigen::Dynamic,dim>
temp(Eigen::Matrix<double,Eigen::Dynamic,3>::Zero(points.rows(),dim));
47 #pragma omp parallel for
49 for(
long int k=0;
k<points.rows();++
k)
59 std::vector<Eigen::Matrix<double,dim,dim>>
temp(points.rows(),Eigen::Matrix<double,dim,dim>::Zero());
61 #pragma omp parallel for
63 for(
long int k=0;
k<points.rows();++
k)
73 std::set<const Grain<dim>*>
temp;
76 for(
const auto& nodeEle : *node)
89 const std::pair<bool,const Simplex<dim,dim>*> found(
microstructures.ddBase.mesh.searchWithGuess(
x,guess));
const Simplex< dim, dim > & simplex
A const reference to the Simplex that this element refers to.
const std::shared_ptr< MeshRegionType > region
Shared pointer to MeshRegioin containing *this.
virtual VectorDim displacement(const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
std::set< const Grain< dim > * > pointGrains(const VectorDim &x, const NodeType *const node, const ElementType *const ele, const SimplexDim *const guess) const
ElementType::NodeType NodeType
MicrostructureBase(const std::string &tag_in, MicrostructureContainer< dim > &m_in)
Eigen::Matrix< double, dim, 1 > VectorDim
MicrostructureContainerType & microstructures
DefectiveCrystalBase< dim >::ElementType ElementType
Simplex< dim, dim > SimplexDim
virtual MatrixDim stress(const VectorDim &, const NodeType *const, const ElementType *const, const SimplexDim *const) const =0
double timeSinceLastUpdate() const