getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] Warning: Inefficient addition of element in rsvector


From: David Danan
Subject: Re: [Getfem-users] Warning: Inefficient addition of element in rsvector
Date: Fri, 24 Feb 2017 05:40:31 -0500



Dear Yves,

thanks for your answer, as you said it is indeed very easy to prescribe the value of an unknown at a point of a domain but i wanted to avoid that if possible.

For now, i will use the pointwise constraint brick.

Just out of curiosity, regarding the stiffness matrix, the same issue should exist to a lesser extent for the demo_wheel_contact.py (for the rigidity of the rim), shouldn't it? Is that what was meant by
"
This means that the line of the tangent matrix corresponding to alpha_D may have a lot of nonzero components. This is why such a use of fixed size variable have to be done with care." ?
Is it also why a penalisation is used or is it completely unrelated?
Sorry for all these naive questions.

David.

-----E-mail d'origine-----
De : Yves Renard <address@hidden>
A: David Danan <address@hidden>; getfem-users <address@hidden>
Envoyé le : Je, 23 Fév 2017 16:33
Sujet : Re: [Getfem-users] Warning: Inefficient addition of element in rsvector


Dear David,

You add a global term, so that the stiffness matrix is no longer sparse at all. This is why gmm complains. And the linear system solve will only be possible for a small number of degrees of freedom. This is avoidable with a specific solve of the system, writing explicitely the constraint matrix as a rank one matrix. Of course, a simpler alternative is to prescribe the value of the unknown at any point of the domain (with a pointwise constraint brick, this is very easy) and if there is a specific need for solution to be of zero average, make a post-translation of the solution.

Yves.


Le 23/02/2017 à 11:17, David Danan a écrit :
Dear Getfem users,

i wanted to solve a simple laplacian with pure Neumann boundary condition on a cube.
In order to do so, since the problem is ill-posed, i added the following constraint on the unknown u
 int_omega u dx=0
via a Lagrangian multiplier.

In the code, the left-hand side is defined by
  Model.add_fem_variable("u", mf_u);
  getfem::add_linear_generic_assembly_brick(model, mim, "(Grad_u.Grad_Test_u)");
  model.add_fixed_size_variable("lambda", 1);
  getfem::add_linear_generic_assembly_brick(model, mim, "(lambda*Test_u)");
  getfem::add_linear_generic_assembly_brick(model, mim, "(u*Test_lambda)");

If i am not mistaken, it should correspond to the left hand side described in
https://fenicsproject.org/olddocs/dolfin/1.3.0/python/demo/documented/neumann-poisson/python/documentation.html
for instance
 
As a result, the mean value is relatively small in comparison with u (while not exactly 0).

However, when i run the program, i get the following warning:
Level 2 Warning in ../../src/gmm/gmm_vector.h, line 592: Inefficient addition of element in rsvector with **** non-zero entries

Did i do something wrong? If i didn't, is it possible to disable this warning?

Thanks in advance,
David.


_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users


-- 

  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

---------

reply via email to

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