I just realized that the problem comes from that part of the code that applies relative displacement between bottom and top faces, since there is not corner element distortion when having u_x (0,y)=u_x(L,y)+delta_x and I uncomment the second part of the code namely,
{ IndexSet selected_dofs_y; std::set< types::boundary_id > boundary_ids_y= std::set<types::boundary_id>(); boundary_ids_y.insert(2); DoFTools::extract_boundary_dofs(dof_handler, fe.component_mask(y_displacement), selected_dofs_y, boundary_ids_y); unsigned int nb_dofs_face_y = selected_dofs_y.n_elements(); IndexSet::ElementIterator dofs_y = selected_dofs_y.begin(); double relative_displacement_y; if (timestep <10) relative_displacement_y = 0.05e-9; else relative_displacement_y = 0.005e-9; for(unsigned int i = 0; i < nb_dofs_face_y; i++) { constraints.set_inhomogeneity(*dofs_y, (apply_dirichlet_bc ? relative_displacement_y : 0.0)); dofs_y++; } I cant realize what is the difference between relative displacement implementation in x and y direction that the code works for x direction but not for y direction while for both the code is identical !!! Thanks -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.