Weekly Communication
Week July 26, 2002
As you know in the last 3 weeks I was working on symmetric operators and tried to make it work.
Because the result from symmetric operator didn't match the one from original matrix, I used a
model to test
1) if the matrix was correctly formed or not?
2) if the CG+ICC method works for the symmetric operator?
under your suggestions.
-- First, I created the same matrix by 2 ways.
one by original way, MatCreateMPIAIJ(),
the other by petsc symmetric mpi structure, MatCreateMPISBAIJ(),
and compare every aspects of the matrix:
every element
norm of each element
column and row number
nonzero element structure
and I found both matrices are completely euqual.
So the petsc symmetric mpi structured matric was correctly created.
( Because CG+ICC only work with matrices created by MatCreateMPISBAIJ(). )
-- Second, I used the model to test the CG+ICC method for the matrices by
MatCreateMPISBAIJ().
when I was working with m3d, some petsc problems didn't reveal because m3d is too
large.
By a small size model problem, I found petsc doesn't have a parallel ICC
preconditioner. So I have to start with BLOCK JACOBI preconditioner and get into
each block, then I can turn on CG+ICC flag inside each block.
Unfortunately, I found BLOCK JACOBI doesn't work with matrix by MatCreateMPISBAIJ(),
but I mush use BLOCK JACOBI in order to get into each block to turn on ICC+CG flag.
This has to be soled before I make further test. I have written to petsc people
to seek their answers.
Week July 5, 2002
FOR symmetric operator
1. poissc.c -> poisDiriclet -> psiInverter changes to chiInverter
the one used in poisNeuman
2. mhd/allocation/constructMHDSolver.c
delete SLESSetFromOptions from psiInverter
3. mesh/felement/construcFEMatrix.c
dRoverR -> MatCreateMPIAIJ instead of MatCreateSBMPIAIJ
4. mesh/felement/felement.h
add one new matrix gfe->Stiff of MatCreateMPIAIJ type
in order to create userSolver.starMatrix and userSolver.daggerMatrix
5. mesh/felement/construcFEMatrix.c
gfe-> Stiff (MatCreateMPIAIJ)
6. mhd/allocation/constructMHDSolver.c
create userSolver.starMatrix and userSolver.daggerMatrix