Hi all, I am quite new to deal.ii and have been tasked with making use of 
it for my Honours project. 

I am trying to implement a traction boundary condition for a steady state 
linear elasticity type problem. I am therefore using step-8 from the 
tutorials as the base for my project and have attempted a Neumann boundary 
implementation by making use
of a combination of the step-44 traction boundary and lecture 21.55 by Prof 
Bangerth. The code that I added is as follows:


  for (unsigned int f=0; f<GeometryInfo<dim>::faces_per_cell; ++f)
          if (cell->face(f)->at_boundary() == true 
           && cell->face(f)->boundary_id() == 3)
            {
              fe_face_values.reinit (cell, f);
                      
              for (unsigned int fq_point=0; fq_point<n_face_q_points; 
++fq_point)
                {
                   const Tensor<1, dim> &N = 
fe_face_values.normal_vector(fq_point);
                   static const double T = 7.0e6; // arbitraty magnitude of 
traction
                   const Tensor<1,dim> traction = (T * N);

                  for (int i = 0; i<dofs_per_cell; ++i)
                  {
                    const unsigned int component_i = 
fe.system_to_component_index(i).first;

                    cell_rhs(i) += traction[component_i]
                                    * fe_face_values.shape_value(i,fq_point)
                                    * fe_face_values.JxW(fq_point);
                  }

                }
            }

The code runs without any errors, however when I set my body force to zero 
to check for the traction contribution I noticed that there seems to be no 
displacement at all. I have also commented out the interpolate boundary 
values as follows:

     // std::map<types::global_dof_index,double> boundary_values;
     // VectorTools::interpolate_boundary_values (dof_handler,
                                              0,
                                             
Functions::ZeroFunction<dim>(dim),
                                             boundary_values);

     // MatrixTools::apply_boundary_values (boundary_values,
                                         system_matrix,
                                        solution,
                                        system_rhs);


I have also tried increasing the magnitude of my traction but that doesn’t 
make a difference either. I am currently at my wits end as to why this 
would be the case for there being zero displacement. I have attached the 
formulation with regards to the weak form of my problem
as to give more insight into what I am trying to implement. Any form of 
help or insight as to what the cause of the issue might be would be greatly 
appreciated.

Kind regards 
Shaqir

-- 
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.

Attachment: weak_form(1).pdf
Description: Adobe PDF document

Reply via email to