Dear Daniel,
I just resolved the problem. Because constraints.close function resolves
chains of constraints, It interfered with set_inhomogeinity process. So I
had to issue constraints.close before applying inhomogeinities.
Thank you very much for your helpful hints. I appreciate it.
Hamed
Dear Daniel,
> It seems that you are now constraining all the components, i.e.
> u_x(0,y)=u_x(L,y) and u_y(0,y)=u_y(L,y).
> Is this really what you want to do? Otherwise, you should have a
> ComponentMask in your call to
> DoFTools::make_periodicity_constraints as well, i.e.
>
> You are
Dear Daniel and Timo,
Thank you very much for your advises. I have figured out the problem with
the periodic constraints but I do not know where this problem comes from.
Let me explain the issue more. As I mentioned earlier, I have applied
periodic BC for displacement field and I want to apply
Dear Daniel,
> I would suggest you to look at the constraints in the ConstraintMatrix
> using ConstraintMatrix::print[1] for a mesh consisting of has few cells as
> possible.
> Using DoFTools::map_dofs_to_support_points[2] you can then verify that
> these are correct.
>
Issuing "
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
Dear Daniel,
I have applied periodic boundary condition on displacement field for a
square 2D domain and in order to apply boundary displacement I want to
consider relative displacement between pair faces, namely,
u_x (0,y)=u_x(L,y)+delta_x and u_y (x,0)=u_y(x,L)+delta_y , using
Daniel,
You are completely right. The problem was resolved applying your comment.
Thank you very much,
Hamed
--
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
Hamed,
[...]
> I am going to do the same as Bastian, namely periodic boundary condition
> for displacement such that u( 0, y ) = u( 1, y ) + *lambda ,*
> * so I used the recommended above code by Bastian for applying
> inhomogenity to predefined periodicity, in order to have reletive
>
Dear Bastian and Daniel,
> That's what I was assuming. So yesterday I did it with this code :
> // This block add to the periodicity constraint the little
> compression we want
> {
> IndexSet selected_dofs_left;
> std::set< types::boundary_id > boundary_ids_left=
Daniel,
That's what I was assuming. So yesterday I did it with this code :
// This block add to the periodicity constraint the little
compression we want
{
IndexSet selected_dofs_left;
std::set< types::boundary_id > boundary_ids_left=
std::set();
I agree with Daniel. So in this case, you probably just need to change your
order of operations and set the boundary_id's before doing any refinement.
On Wednesday, June 8, 2016 at 2:07:09 AM UTC+2, Daniel Arndt wrote:
>
> Bastien,
>
> GridTools::collect_periodic_faces stores only the periodic
Bastien,
GridTools::collect_periodic_faces stores only the periodic faces on the
coarsest level.
This information is used in DoFTools::make_periodicity_constraints to
create the corresponding constraints
on the active set of DoFs.
My best guess would be that you don't set the boundary_ids on
Hi Jean-Paul,
Concerning the problem you've pointed out :
1. Ok, I'll take it into account. From now on, let's try to solve this
problem without local refinement. I do not do it anymore here.
2. Thanks for the advice, I've changed my checks.
3. I understand. However, I am almost sure that an
Hi Bastien,
There are a few potential problems here.
1. You're only refining cells along the top edge of your domain.
Periodic boundaries can only have a difference of 1 refinement level
between pairs of faces.
2. You may not be colouring any of your boundaries. This should be a
Hi Daniel.
Thank you for your answer, it worked well to enforce my periodic boundary
conditions on the 1D beam.
Thus, I'm back to the 2D neo-hookean case. Here is the code of my
*make_grid()* function :
template
void Solid::make_grid()
{
GridGenerator::hyper_cube(triangulation, 0.0,
15 matches
Mail list logo