← Back to team overview

dolfin team mailing list archive

Re: [Question #125019]: Assembling matrix over cells and interior facets only

 



On 13/09/10 08:09, Anders Logg wrote:
Question #125019 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/125019

     Status: Open =>  Answered

Anders Logg proposed the following answer:
On Mon, Sep 13, 2010 at 06:11:13AM -0000, Evan Lezar wrote:
Question #125019 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/125019

     Status: Answered =>  Open

Evan Lezar is still having a problem:
Hi

I think Anders is correct. I have just had a look at the SystemAssembler
code, and it does seem to also place ones on the diagonals of the matrix
to which the boundary conditions are being applied. In addition, I am
not solving a linear system, but eigenvalue problems and as such b is a
Matrix not a Vector.

At present I am manually removing the rows and columns for the matrices
that correspond to (zero) Dirichlet conditions and then reconstructing
the correct solution vector from the eigenvector that I obtain. This is
fine for testing and getting the rest of the system running.

Thanks for the help so far.

How do you remove the rows and columns?

If there is good support for doing this in the backends (PETSc,
Trilinos), we might consider adding a wrapper for it.


I doubt that there is good support (or in fact any support) for this. It's really nasty, especially in parallel.

What would be good is incorporating things like this in the sparsity pattern and not assembling the entries in the first place. Related to this, I added a Blueprint a while ago on modifying the sparsity pattern for periodic bcs to overcome the horrible performance we have at the moment due to manipulation an assembled sparse matrix.

Garth

--
Anders




Follow ups

References