First of all i'd like to introduce myself, my name is Jorge and i am working on a surgical simulation project. I have been looking for an open source FEM library that i could use for simulating elastic deformations. After an evaluation process i have decided to go for this lib!
Based on elastostatic.cc test, i have performed a test using a simple cube surface (triangle elements) mesh (8 points, 12 convexes). I have succesfully imported the mesh and generated the mesh_fem objects (m_u and m_rhs) defining its qdim to 3 (i want to simulate the deformation vector) and "FEM_PK(2,1)". The integration method has been set "IM_TRIANGLE(6)".
Trying to solve the equation with a gravitational force, Dirichlet Boundary conditions for each point:
for (int i = 0; i < (numberOfDOFs/N); ++i) { gmm::copy(f, gmm::sub_vector(F, gmm::sub_interval(i*N, N)));
}
// Volumic source term brick. int numberOfDOFs = this->RHS->nb_dof(); plain_vector F(numberOfDOFs); this->Model->add_initialized_fem_data("VolumicData", *(this->RHS), F);
getfem::add_source_term_brick(*(this->Model),*(this->IntegrationMethod), "u", "VolumicData");
Trace 2 in getfem_models.cc, line 1658: Source term assembly for Dirichlet condition
terminate called after throwing an instance of 'gmm::gmm_error' what(): Error in getfem_superlu.cc, line 214 void gmm::SuperLU_solve(const gmm::csc_matrix<T, 0>&, T*, T*, double&, int) [with T = double]:
SuperLU solve failed: info=25 Aborted