Hi,

I was wondering what type of matrix I should use if I want to define my own
interpolation matrix in PCMG.

I don't have any DM objects, and I wanted to provide the matrix entries to
the interpolation matrix manually.  Moreover, I want the coarse grid
operators to be defined via the Galerkin process, so I only need to define
the interpolation operator.  The fine grid problem/operator is defined as a
parallel sparse matrix using MATMPIAIJ.  My interpolation operator is also
parallel and sparse -- does that mean I should also use MATMPIAIJ for my
interpolation operator?

I did some digging but I couldn't find any examples where the
interpolation/restriction operators in PETSc were defined explicitly by the
user.  I also found the documentation for the matrix type MATMAIJ (
http://www.mcs.anl.gov/petsc/petsc-current/docs/
manualpages/Mat/MATMAIJ.html#MATMAIJ), which indicates that it is a
specialized matrix for interpolation/restriction operations.  However, I
also noticed that the description for MATMAIJ indicates that it will
interpolate each component the same way independently.  I do have a
multicomponent problem, but I was hoping to interpolate each component
differently -- does that mean I can't use the MATMAIJ matrix type?

If it is recommended that I use the MATMAIJ matrix type, I would like some
clarification regarding the MatCreateMAIJ function.  In particular, I'm not
really sure how the input matrix "A" (first argument of MatCreateMAIJ) is
supposed to be -- the description of MatCreateMAIJ says "the AIJ matrix
describing the action on blocks," but I don't know what that means.  The
use of MatCreateMAIJ in ex48.c is not really clear to me.

Any guidance would be much appreciated.  Thanks!

-- 
Ben Yee

NERS PhD Candidate, University of Michigan
B.S. Mech. & Nuclear Eng., U.C. Berkeley

Reply via email to