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
          when I was working with m3d, some petsc problems didn't reveal because m3d is too

          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