getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] write on global matrix with gmm


From: Yves Renard
Subject: Re: [Getfem-users] write on global matrix with gmm
Date: Mon, 19 Nov 2007 12:44:22 +0100
User-agent: KMail/1.9.5

On Monday 19 November 2007 11:52, mikael gueguen wrote:
> Le 19 nov. 07 à 11:31, Yves Renard a écrit :
> > On Monday 19 November 2007 11:15, mikael gueguen wrote:
> >> hi
> >> what is the good way to write global matrix for FEM with gmm?
> >> if i use a dense_matrix for writing the global matrix during the
> >> assembly procedure, i have problem with large scale problem,
> >> and if i use a col_matrix < gmm::wsvector<double> >, it 's not
> >> possible to access the rows, and i cannot insert boundary condition.
> >>
> >> How can i resolve that?
> >
> > You mean you want to prescribe Dirichlet type boundary conditions
> > (solution
> > prescribed on the boundary) ?
>
> yes
>
> > It depends on how you prescribe the boundary conditions. There is
> > at least
> > three possibilities : Adapt the stiffness matrix cleaning some
> > lines of the
> > matrix, penalization or Lagrange multipliers.
>
> i  set to zero the row and column corresponding to prescribed dof:
>                                       gmm::scale(gmm::mat_col(M,c),0.);
>                                       gmm::scale(gmm::mat_row(M,c),0.);
>                                       M(c,c)=1.;
>
> > For the first method, the optimal way if either to have a row matrix
> > (row_matrix < gmm::wsvector<double> > or row_matrix <
> > gmm::rsvector<double> >
> > for instance) or if you have a column matrix, set to zero the
> > potentialy non
> > zero elements by considering the neighbor dofs (i.e. the dofs of
> > the elements
> > containing the dof to be prescribed).
>
>   only the dofs of the element? but i must also access the row and
> colums elements in my matrix in this case.

The function

add_Dirichlet_dof(M, B,  mf, dof, dof_val);

do this job (line 1266 of getfem_assembling.h).

Yves.

-- 

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques, INSA de 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]