## Weekly Communication

#### Week August 2, 2002

As you know, M3D stops at one of the petsc function whenever the
symmetric matrix form is turned on. after talking with Josh and
also petsc people, it seems no clear clue why this happens. So I
would like to put this aside for a while and move on to the next
subject: optimizing the fluid part. But I won't forget this probelm
and will turned back often to work on it.
ORNL gives an account today on cheetah.ccs.ornl.gov. As Steve told
me, I'll port M3D there to see which plateform suits M3D mostly.

#### Week August 2, 2002

--------------- to Hank ---------------
As I told you last Friday, I am stucking with one of the
Petsc routine MatSetValue in mhd/operator/matZeroInterior.c.
The problem is whenever the polidal decomposition was added
to the code, it won't work.
I experimented Josh's idea, it doesn't work either. Now
Josh and I are both looking at this part.
Here we have a question regarding the logic of
matZeroInterior.c. We did not understand why the variable
indice is preset to be 0.
In our understanding, the first row of the matrix on the
Rank 0 processor is exclusively for the center of poloidal
plance. But inside this routine, the matrix at this row
is set to be an unit matrix: 1 on-diagonal; 0 off-diagonal.
Can you take a look at this part:
m3dp/code/interface/poissc.c : poisNeuman
call mhd/operator/matZeroInterior.c
--------------- from Hank ---------------
In the Neumann solution, it's necessary to set the value of the solution
at one mesh point to a constant. This was chosen to be meshpoint indice =
0. The row and column passing through indice are set to zero and the
diagonal is set to one. This causes the output value of the solution
at this point to be the same as the input value.