MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / getStrainStressMatrix

Method getStrainStressMatrix

tools/Assembler/ref/Assembler3D.cpp:304–321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

302}
303
304ZSparseMatrix Assembler3D::getStrainStressMatrix() {
305 typedef Eigen::Triplet<double> T;
306 std::vector<T> triplets;
307
308 for (size_t i=0; i<m_mesh->getNbrElements(); i++) {
309 for (size_t j=0; j<6; j++) {
310 for (size_t k=0; k<6; k++) {
311 if (m_D(j,k) != 0) {
312 triplets.push_back(T(i*6+j, i*6+k, m_D(j,k)));
313 }
314 }
315 }
316 }
317
318 Eigen::SparseMatrix<double> D = Eigen::SparseMatrix<double>(6*m_mesh->getNbrElements(), 6*m_mesh->getNbrElements());
319 D.setFromTriplets(triplets.begin(), triplets.end());
320 return ZSparseMatrix(D);
321}
322
323ZSparseMatrix Assembler3D::getBdLaplacianMatrix() {
324 typedef Eigen::Triplet<double> T;

Callers

nothing calls this directly

Calls 4

ZSparseMatrixClass · 0.50
getNbrElementsMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected