Dear Anne-Lise,
The function
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 ?
Yves.
GUILMIN Anne-Lise <[email protected]> a écrit :
> Dear all,
>
> 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
> useful multipliers?
> If not, what should I do to get the right number of multipliers using
> add_multiplier?
>
>
> I would be thankful for any help or explanation.
> Best regards,
>
> Anne-Lise Guilmin
> __________________________
>
> 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
> message.
>
> Visitez notre site Web / Visit our web site : http://www.ifp.fr
> __________________________
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users