31void createUniformMesh(
mesh::Mesh *mesh_p,
size_t dim, std::pair<std::vector<double>, std::vector<double>> box, std::vector<size_t> nGrid);
49 const std::vector<std::vector<double>> &boxes);
82 const std::vector<util::Point> &xRef,
83 const std::vector<util::Point> &u,
84 std::vector<util::Point> &xQuadCur,
85 size_t iNodeStart = 0,
86 size_t iQuadStart = 0,
87 size_t quadOrder = 1);
116 const std::vector<util::Point> & xRef,
117 const std::vector<util::Point> &u,
119 std::vector<util::SymMatrix3> &strain,
120 std::vector<util::SymMatrix3> &stress,
121 size_t iNodeStart = 0,
122 size_t iStrainStart = 0,
126 bool computeStress =
false,
127 size_t quadOrder = 1);
146 const std::vector<util::Point> & xRef,
147 const std::vector<util::Point> &u,
148 const std::vector<util::SymMatrix3> &stress,
149 double &maxShearStress,
152 size_t iNodeStart = 0,
153 size_t iStrainStart = 0,
154 size_t quadOrder = 1);
Collection of methods and data related to finite element and mesh.
void getCurrentQuadPoints(const mesh::Mesh *mesh_p, const std::vector< util::Point > &xRef, const std::vector< util::Point > &u, std::vector< util::Point > &xQuadCur, size_t iNodeStart, size_t iQuadStart, size_t quadOrder)
Get current location of quadrature points of elements in the mesh. This function expects mesh has ele...
void getMaxShearStressAndLoc(const mesh::Mesh *mesh_p, const std::vector< util::Point > &xRef, const std::vector< util::Point > &u, const std::vector< util::SymMatrix3 > &stress, double &maxShearStress, util::Point &maxShearStressLocRef, util::Point &maxShearStressLocCur, size_t iNodeStart, size_t iStrainStart, size_t quadOrder)
Get location where maximum of specified component of stress occurs in this particle.
void createUniformMesh(mesh::Mesh *mesh_p, size_t dim, std::pair< std::vector< double >, std::vector< double > > box, std::vector< size_t > nGrid)
Creates uniform mesh for rectangle/cuboid domain.
void getStrainStress(const mesh::Mesh *mesh_p, const std::vector< util::Point > &xRef, const std::vector< util::Point > &u, bool isPlaneStrain, std::vector< util::SymMatrix3 > &strain, std::vector< util::SymMatrix3 > &stress, size_t iNodeStart, size_t iStrainStart, double nu, double lambda, double mu, bool computeStress, size_t quadOrder)
Strain and stress at quadrature points in the mesh.
void removeNodesInBoxes(mesh::Mesh *mesh_p, const std::vector< std::vector< double > > &boxes)
Removes nodes lying inside any of the given axis-aligned boxes.
A structure to represent 3d vectors.