[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Getfem-users] write on global matrix with gmm
From: |
mikael gueguen |
Subject: |
Re: [Getfem-users] write on global matrix with gmm |
Date: |
Mon, 19 Nov 2007 11:52:35 +0100 |
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.
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
---------