Hi Shaqir,

So, I have a short question to clarify something: By commenting out the calls 
to VectorTools::interpolate_boundary_values() and 
MatrixTools::apply_boundary_values(), are you implying that you do not impose 
equation 4 (the Dirichlet boundary conditions) anywhere on the boundary of the 
domain? If so then your problem is indeterminate, and I bet you’d get a 
non-trivial solution once you constrain at least one boundary surface.

Best,
Jean-Paul

> On 31 Aug 2018, at 10:09, shaxrodg...@gmail.com wrote:
> 
> 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/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <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 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> <weak_form(1).pdf>

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

Reply via email to