[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Getfem-users] Imposing Dirichlet boundary conditions with lagrangia
Re: [Getfem-users] Imposing Dirichlet boundary conditions with lagrangian multipliers
Wed, 14 Apr 2010 22:38:56 +0200
Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)
add_generalized_Dirichlet_condition_with_multipliers(md, mim, varname,
multname, region, dataname, Hname);
can be used to prescribe such a condition (see the user documentation
for more details).
Normally, the multipliers are filtered in the function
model::actualize_sizes() of getfem_model.cc
using the terms that are declared which couple the multiplier to its
primal variable. So it should work in your case.
Your program seems to be correct anyway.
Unfortunaltely, I don't have any time to check it for more detail at
this moment. Can you try with
add_generalized_Dirichlet_condition_with_multipliers to see if the
problem persists, please ?
GUILMIN Anne-Lise <address@hidden> a écrit :
First, thank you for developping this library. It is such a pleasure to
write a finite element code without bothering (too much) about indices !
I want to impose normal Dirichlet conditions so I define multipliers and
use a hand-made brick to fill the matrix and the right hand side.
My problem is that I don't get the right number of lagragian
multipliers. It seems to be linked with the add_multiplier function.
I send you a modified version of the getfem test elastostatic.cc to
underline this problem. In this one, normal Dirichlet conditions are
imposed on the bottom and lateral faces of the mesh.
The following results are given for a linear quadrilateral
two-dimensionnal single element : a square with 4 nodes.
When defining the multipliers with add_fem_variable (line 589), we get
the right number of lagragian multipliers : 2 on each imposed face = 6.
When defining the multipliers with add_multiplier instead (line 591), we
get less multipliers than expected : only 1 on two faces and 2 on the
last one = 4.
It acts as if no boundary condition was imposed on the bottom left node.
If I understood well, when using the add_multiplier definition, we start
creating multipliers on the whole mesh, then we fill the matrix part
dedicated to Dirichlet boundary conditions and finally we simplify it to
eliminate useless lines and columns (step which is necessary for
Gaussian elimination). Could there be a problem in the way that the
matrix is simplified which would explain the disappearance of some
If not, what should I do to get the right number of multipliers using
I would be thankful for any help or explanation.
Ce message (et toutes ses pièces jointes éventuelles) est
confidentiel et établi à l'intention exclusive de ses destinataires.
Toute utilisation de ce message non conforme à sa destination, toute
diffusion ou toute publication, totale ou partielle, est interdite,
sauf autorisation expresse. L'IFP décline toute responsabilité au
titre de ce message.
This message and any attachments (the message) are confidential and
intended solely for the addressees. Any unauthorised use or
dissemination is prohibited. IFP should not be liable for this
Visitez notre site Web / Visit our web site : http://www.ifp.fr