[petsc-users] Some tricky problem in my multilevel feti dp code
Thomas Witkowski
thomas.witkowski at tu-dresden.de
Thu Dec 13 09:41:33 CST 2012
I have some problem in the implementation of my multilevel FETI DP code,
where two block structured matrices must be multiplied. I'll give my
best to explain the problem, may be one of you have an idea how to
implement it. I think, the best is to make a small example: lets assume
we have 16 subdomains, uniformly subdividing a unit square. Each of the
subdomain matrices is purely local, thus they have the communicator
PETSC_COMM_SELF. Each of them is of size n x n. There is a coarse grid
matrix, with communicator PETSC_COMM_WORLD and of size m x m. The
coupling matrices between the global coarse grid and the local matrices
are also global, so they are of size 16n x m and m x 16n, respectively.
So far, everything is fine and works perfectly. Now I introduce four
"local coarse grids", each of them couples four local subdomains, and is
defined on a subset communicator of PETSC_COMM_WORLD. Say, each "local
coarse grid" matrix is of size p x p, and there are also coupling
matrices of size 4n x p and p x 4n. Now I have to perform a MatMatMult
of the local coarse coupling matrices p x 4n with the global coupling
matrix 16n x m. So the final matrix is of size 4p x m. But I cannot
perform the MatMatMult, as the matrix sizes do not fit and the
communicators are not compatible.
Is it possible to understand, what I want to do? :) Any idea, how to
implement it?
Thomas
More information about the petsc-users
mailing list