[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] Displacements are mesh-size dependent in a simple 2D

From: Yves Renard
Subject: Re: [Getfem-users] Displacements are mesh-size dependent in a simple 2D linear elastic problem?
Date: Tue, 16 Dec 2014 17:42:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

Deat Tom,

Yes,  normal_of_face_of_convex gives a normal vector which lenght is the determinant of the transformation from the reference face on the real face. However ... the area of the face of the reference element depends if it if a face parallel to an axis (lenght 1) or the third face wich is of length sqrt(2). So the length of the normal vector is not directly the area (length) of the face.

If I understand well, you want to compute the equivalent forces on each face corresponding to your uniform pressure.

One simple way to obtain the lenght/area of a face (even for curved ones) is to sum the weights of an integration method on the corresponding face multiplied by the determinant of the transformation (i.e. to integrate 1 on the face). If you do not want to go to the internal of getfem, you can simply ask to compute the mass matrix between a P0 finite element method (eventually reduced to the boundary you look at) and a finite element on which you define the pressure. Or if you use the high level generic assembly, you can simply ask the assembly of the term "-Normal*Pressure*Test_p0" on the corresponding boundary where Pressure is your contact pressure and p0 is a field defined on a P0 finite element method.

Concerning the displacements, what do you mean by "I calculate the resulting displacement ?". You calculate some displacements explicitely from the computed force on each face ? I do not see very well how you can do that. Could you explain more this point ?


Le 15/12/2014 16:32, Tom Haeck a écrit :
Hi all,

I am experimenting with a very simple 2D linear elastic problem.  The domain is (more or less) rectangular with a circular hole in the middle.  A constant pressure is acting radially outward on the faces of the hole in the middle (see attached image).

In order to calculate the force that is acting on each face of the hole in the middle, I multiply the constant pressure by the length of the face.  Next, I calculate the resulting displacements.  It struck me that the magnitude of the resulting displacement is largely dependent on the size of the elements of the mesh.  I would expect that larger forces acting on a few larger mesh elements would give more or less the same displacements as smaller forces acting on a lot of small mesh elements?  

Moreover, when I use the magnitude of the vectors mesh.normal_of_face_of_convex(,i.f()) as magnitude of the force vectors acting on the faces of the hole, the resulting displacements are independent of the mesh size.  The magnitudes of the vectors mesh.normal_of_face_of_convex() are larger for smaller elements and smaller for bigger elements.  However, according to the documentation,  mesh.normal_of_face_of_convex() returns vectors with magnitudes that are proportional to the area of the face?

To summarize:
  • how come that my displacements are dependent on the element mesh size?  
  • how come that the displacement are not dependent on the element mesh size anymore when I use normal_of_face_of_convex?
  • how come that the magnitudes of the vectors of normal_of_face_of_convex are not proportional to the area of the face, as is documented?



Getfem-users mailing list


  Yves Renard (address@hidden)       tel : (33)
  Pole de Mathematiques, INSA-Lyon             fax : (33)
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE


reply via email to

[Prev in Thread] Current Thread [Next in Thread]