getfem-users
[Top][All Lists]

## Re: [Getfem-users] boundary problem with elastostatic

 From: Yves Renard Subject: Re: [Getfem-users] boundary problem with elastostatic Date: Wed, 23 Nov 2011 09:29:58 +0100 User-agent: KMail/1.13.5 (Linux/2.6.32-35-server; KDE/4.4.5; x86_64; ; )



The condition you need to prescribe

sigma_ij * n_j = n_j = p1 * n_i on S_N1

Is a very standard Neumann condition for elasticity (in fact for arbitrary
model of a continous media with a vector displacement)

Of course, here the data p1 which is the prescribed stress on the boundary
S_N1 is a vector valued field on that boundary. If you know explicitely p1, so
the additional term in the weak formulation of the problem is simply

\int_S p1.v

where v is the test function and p1.v the scalar product. In that case, you
can simply use the standard source term brick.

If you have a problem computing p1 because it comes from a tensor field
multiplied by the unit normal to the boundary, then you can use the "normal
source term brick".

If p1 has only a pressure component (no shear stress) then, you can use the
"normal source term brick" with a diagonal tensor field.

Yves.

On mercredi 23 novembre 2011, address@hidden wrote:
> Dear Yves,
>
> many thanks for your reply. I agree with you, that I have to specify a
> Neuman boundary condition. AFAIK, it is normaly given by:
> u_i,j * n_j = p1 * n_i on S_N  (Notation with Einstein summation
> convention) or in weak form
> int_S_N u_i,j * n_j * v_i= int_S_N p1 * n_i * v_i   for all test functions
> v
> In my elastostatic problem I have
>
> sigma_ij * n_j = (lambda * delta_ij * u_k,k + 2 * mu * (u_i,j + u_j,i)/2 )
> * n_j = p1 * n_i on S_N1
> where the unknown is the displacement vector field u. My problem is how to
> specify this boundary condition (in 3D)? E.g. how do I get the normal of
> the face at given point of the mesh m? If I use the (normal) source term
> brick, how does it know to use sigma_ij and not u_i,j?
> I figured out, that I cannot use the coordinates x,y,z but need to use
> x[0], x[1], x[2] instead in m.eval("[...]"). I use the demo_tripod.py demo
> as my template.
>
> As the equations are unreadable in my first email I repeat them here:
> e_ij = (u_i,j + u_j,i)/2              in V
> sigma_ij = lambda delta_ij epsilon_kk + 2 mu epsilon_ij       in V    with
> lambda, mu Lamé coefficient sigma_ij,j + b_j = 0                in V with
> b data
> u_i = w_i                              on S_D with w data
> sigma_ij n_j = p1 n_i             on S_N1 with p1 data and n the unit
> normal of the surface (face) sigma_ij n_j = p2 n_i             on S_N2
> with p2 data and n the unit normal of the surface (face) Somehow my mailer
> dropped the references I've read but probably not understand completly.
> Here they are [1]
> ity.html> [2]
> > [3]
> ml>
>
> > -----Ursprüngliche Nachricht-----
> > Von: Yves Renard
> > Gesendet: Tue. 22.11.2011 17:21
> > Betreff: Re: [Getfem-users] boundary problem with elastostatic
> >
> >
> >
> > Neumann conditions are taken into account by the source term brick.
> > In weak
> > formulation, a Neumann condition is a source term on the
> > corresponding
> > boundary. See examples and
> > ml
> >
> >
> > Yves.
> >
> > On mardi 22 novembre 2011, address@hidden wrote:
> > > Dear all,
> > >
> > > I'm a newbie to getfem++.
> > >
> > > I want to solve an isotropic homogenous elastostatic problem. The
> >
> > (first)
> >
> > > mesh is ready but I cannot see how to include my boundary
> >
> > conditions.
> >
> > > Here are the equations of my problem:
> > >
> > > e_ij = (u_i,j + u_j,i)/2 in V
> > > sigma_ij =lambda delta_ij epsilon_kk + 2 mu epsilon_ij in V with
> >
> > lambda, mu
> >
> > > Lamé coefficient sigma_ij,j + b_j = 0 in V with b data
> > > u_i = w_i on S_D with w data
> > > sigma_ij n_j = p1 n_i on S_N1 with p1 data and n the unit normal of
> >
> > the
> >
> > > surface (face) sigma_ij n_j = p2 n_i on S_N2 with p2 data and n the
> >
> > unit
> >
> > > normal of the surface (face)
> > >
> > > p1 and p2 are gas pressures. Therfore there is no tangential
> >
> > traction at
> >
> > > the surfaces S_Ni, but only normal pressure. S_N1 + S_N2 + S_D =
> >
> > partial
> >
> > > V.
> > >
> > >
> > > For the first three equations I can use the linear elasticity brick
> >
> > [1]
> >
> > > AFAICS. For the Dirichlet condition I can use the Dirichlet brick
> >
> > [2]. But
> >
> > > with the two Neumann boundaries I cannot see how to specify them.
> >
> > The
> >
> > > unknown of the FEM is the displacement field u. The boundary
> >
> > condition is
> >
> > > given in terms of sigma but not (directly) in terms of u. I expect
> >
> > that
> >
> > > the Neumann brick [3] implements u_i,j n_j = v_i, but that's not
> >
> > what I
> >
> > > need. How can I proceed?
> > > At the moment I use the python interface, but I can move to the c++
> > > interface if it can solve my problem easier.
> > >
> > > [1]
> > > [2]
> > > [3]
> > >
> > >
> > > Many thanks for any hints.
> > >
> > > Kind regards,
> > >
> > >
> > >
> > >
> > > ---
> > > E-Mail ist da wo du bist! Jetzt mit freenetMail ganz bequem auch
> >
> > unterwegs
> >
> > > E-Mails verschicken. Am besten gleich informieren unter
> > > http://mail.freenet.de/mobile-email/index.html
> > >
> > > _______________________________________________
> > > Getfem-users mailing list
> > > https://mail.gna.org/listinfo/getfem-users
>
> ---
> Nutzen Sie freenet Mail optimal angepasst für Ihr iPhone, Android oder

--

Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE
http://math.univ-lyon1.fr/~renard

---------