Details of M3D-C1 Code and Parameters
The M3D-C1 code as applied to 2-scalar variables is described in [S. C. Jardin, J. Comput. Phys. 200 (2004) 1333-152], and as applied to 4-scalar variables in [S. C. Jardin and J. Breslau, Phys. Plasmas 12, 056101 (2005)]. The full 8-variable formulation is in the process of being published. A recent talk describing this can be found at: SIAM presentation .
In M3D-C1, all variables are defined at the nodes. Each scalar variable is represented with 6 degrees-of-freedom (DOF) at each node. In the problems presented here, the domain is divided into NX x NY rectangles, each of which is divided into 2 triangles. For a given (NX,NY), there are 6 x NX x NY DOF for each scalar variable. M3D-C1 uses a split-implicit time advance where first the 3 velocity variables are advanced, then the density, then the total pressure, then the 3 field variables (magnetic field + electron pressure). Thus, for (NX,NY) given, the rank of the largest matrix to be factored is nrank = 3*6*NX*NY = 18*NX*NY. Since each node couples to on average 6 neighboring nodes (plus itself), the total number of non-zero entries in the matrix is approximately msize = 7 x NX x NY * (18**2) = 2268 x NX x NY .
Presently, SuperLU_dist is used to factor the matrix. There is no grid packing [as of 08/27/06] although this is being implemented, and the full matrices are presently being inverted each time step. The parameters used for the 3 test problems are as follows:
return to GEM Code Comparisons home page