On Thu, Aug 14, 2008 at 9:56 AM, Cristian Tibirna <ctibirna at giref.ulaval.ca> wrote: > On Tuesday, 12 August 2008, Matthew Knepley wrote: >> If you ignore entries for the rows and columns associated with BCs, but do >> not >> eliminate them from the ordering, do you remember to put something on the >> diagonal of the Jacobian? > > Thank you for the heads up. Indeed my initial intention was to eliminate the > lines completely from the matrix structure (i.e. I preallocate zero non-zero > entries for these lines), but after checking my code more attentively, I > found that was failing to do it correctly because of a subtle error. > > Unfortunately, even after fixing this error and thus eliminating the lines > completely, I can't manage to do this Dirichlet elimination work. This time, > the LU preconditioner complains that the matrix has an empty row (which I > thought should be permitted). > > I examined the aij.c code a bit and could tell (to my humble understanding) > that using matrices with completely empty rows should work for iterative > solvers -- at least the MatMult method does seem to ignore empty lines > completely -- but I didn't do actual tests yet. > > Shouldn't it also be possible to eliminate lines completely even when using > direct solving?
I am not sure I understand. You would like to have a row in the matrix which has only zeros (items not filled in are implicitly)? This would mean a singular matrix, and thus LU fails. When I do this, I eliminate these rows from the matrix and rhs. Matt > -- > Cristian Tibirna (1-418-) 656-2131 / 4340 > Laval University - Quebec, CAN ... http://www.giref.ulaval.ca/~ctibirna > Research professional at GIREF ... ctibirna at giref.ulaval.ca > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
